diff options
Diffstat (limited to 'db/migrate/20171106135924_issues_milestone_id_foreign_key.rb')
-rw-r--r-- | db/migrate/20171106135924_issues_milestone_id_foreign_key.rb | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/db/migrate/20171106135924_issues_milestone_id_foreign_key.rb b/db/migrate/20171106135924_issues_milestone_id_foreign_key.rb deleted file mode 100644 index 1de7d5e768e..00000000000 --- a/db/migrate/20171106135924_issues_milestone_id_foreign_key.rb +++ /dev/null @@ -1,39 +0,0 @@ -# See http://doc.gitlab.com/ce/development/migration_style_guide.html -# for more information on how to write migrations for GitLab. - -class IssuesMilestoneIdForeignKey < ActiveRecord::Migration[4.2] - include Gitlab::Database::MigrationHelpers - - # Set this constant to true if this migration requires downtime. - DOWNTIME = false - - disable_ddl_transaction! - - class Issue < ActiveRecord::Base - include EachBatch - - self.table_name = 'issues' - - def self.with_orphaned_milestones - where('NOT EXISTS (SELECT true FROM milestones WHERE milestones.id = issues.milestone_id)') - .where('milestone_id IS NOT NULL') - end - end - - def up - Issue.with_orphaned_milestones.each_batch(of: 100) do |batch| - batch.update_all(milestone_id: nil) - end - - add_concurrent_foreign_key( - :issues, - :milestones, - column: :milestone_id, - on_delete: :nullify - ) - end - - def down - remove_foreign_key_without_error(:issues, column: :milestone_id) - end -end |