diff --git a/app/models/milestone.rb b/app/models/milestone.rb index d05dcfd083a61f8c89bf70a164c9141c1697615d..14cc12b38a57bd362da4ef12976bff2a9886ba6e 100644 --- a/app/models/milestone.rb +++ b/app/models/milestone.rb @@ -131,9 +131,10 @@ class Milestone < ActiveRecord::Base rel.order(:project_id, :due_date).select('DISTINCT ON (project_id) id') else rel - .group(:project_id) + .group(:project_id, :due_date, :id) .having('due_date = MIN(due_date)') .pluck(:id, :project_id, :due_date) + .uniq(&:second) .map(&:first) end end diff --git a/changelogs/unreleased/blackst0ne-rails5-activerecord-statementinvalid-mysql2-error-expression-1-of-select-list-is-not-in-group-by-clause.yml b/changelogs/unreleased/blackst0ne-rails5-activerecord-statementinvalid-mysql2-error-expression-1-of-select-list-is-not-in-group-by-clause.yml new file mode 100644 index 0000000000000000000000000000000000000000..d9cccc4983072a28dcfa572839788a0f3aa9f2e0 --- /dev/null +++ b/changelogs/unreleased/blackst0ne-rails5-activerecord-statementinvalid-mysql2-error-expression-1-of-select-list-is-not-in-group-by-clause.yml @@ -0,0 +1,5 @@ +--- +title: "[Rails5] Fix milestone GROUP BY query" +merge_request: 20256 +author: "@blackst0ne" +type: fixed