Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-01-16 00:08:48 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-01-16 00:08:48 +0300
commit600ca978129e3ccab758f57d60786cefe66ad775 (patch)
treea3675da98c7c245adf7e93f82f9c26a38cc3c29d /db/migrate/20200110089001_fix_invalid_epic_sourcing_milestone_ids.rb
parent571d993b49313dd806bd3f6af16d36c26d9d28ca (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'db/migrate/20200110089001_fix_invalid_epic_sourcing_milestone_ids.rb')
-rw-r--r--db/migrate/20200110089001_fix_invalid_epic_sourcing_milestone_ids.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/db/migrate/20200110089001_fix_invalid_epic_sourcing_milestone_ids.rb b/db/migrate/20200110089001_fix_invalid_epic_sourcing_milestone_ids.rb
new file mode 100644
index 00000000000..04f65c3a810
--- /dev/null
+++ b/db/migrate/20200110089001_fix_invalid_epic_sourcing_milestone_ids.rb
@@ -0,0 +1,24 @@
+# frozen_string_literal: true
+
+class FixInvalidEpicSourcingMilestoneIds < ActiveRecord::Migration[5.2]
+ DOWNTIME = false
+
+ def up
+ nullify_invalid_data(:start_date_sourcing_milestone_id)
+ nullify_invalid_data(:due_date_sourcing_milestone_id)
+ end
+
+ def down
+ # no-op
+ end
+
+ private
+
+ def nullify_invalid_data(column_name)
+ execute(<<-SQL.squish)
+ UPDATE epics
+ SET #{column_name} = null
+ WHERE #{column_name} NOT IN (SELECT id FROM milestones);
+ SQL
+ end
+end