diff options
author | Jarka Kadlecova <jarka@gitlab.com> | 2017-08-16 12:41:52 +0300 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2017-08-16 12:41:52 +0300 |
commit | 04ee970cc11719f1391207995674d096c48d5afc (patch) | |
tree | 8a3180327d5623592c2f69da5f931db652eab27c /db/post_migrate | |
parent | aae23494393b1c2fc93bd9b39fc57aba7b792e63 (diff) |
Don't create event in Merge Request Create Service
Diffstat (limited to 'db/post_migrate')
-rw-r--r-- | db/post_migrate/20170815060945_remove_duplicate_mr_events.rb | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/db/post_migrate/20170815060945_remove_duplicate_mr_events.rb b/db/post_migrate/20170815060945_remove_duplicate_mr_events.rb new file mode 100644 index 00000000000..6132b553177 --- /dev/null +++ b/db/post_migrate/20170815060945_remove_duplicate_mr_events.rb @@ -0,0 +1,26 @@ +# See http://doc.gitlab.com/ce/development/migration_style_guide.html +# for more information on how to write migrations for GitLab. + +class RemoveDuplicateMrEvents < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + DOWNTIME = false + + class Event < ActiveRecord::Base + self.table_name = 'events' + end + + def up + base_condition = "action = 1 AND target_type = 'MergeRequest' AND created_at > '2017-08-13'" + Event.select('target_id, count(*)') + .where(base_condition) + .group('target_id').having('count(*) > 1').each do |event| + duplicates = Event.where("#{base_condition} AND target_id = #{event.target_id}").pluck(:id) + duplicates.shift + + Event.where(id: duplicates).delete_all + end + end + + def down + end +end |