diff options
Diffstat (limited to 'db/migrate/20170707183807_add_group_id_to_milestones.rb')
-rw-r--r-- | db/migrate/20170707183807_add_group_id_to_milestones.rb | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/db/migrate/20170707183807_add_group_id_to_milestones.rb b/db/migrate/20170707183807_add_group_id_to_milestones.rb new file mode 100644 index 00000000000..675ffd4a1c9 --- /dev/null +++ b/db/migrate/20170707183807_add_group_id_to_milestones.rb @@ -0,0 +1,20 @@ +class AddGroupIdToMilestones < ActiveRecord::Migration + DOWNTIME = false + + def up + return if column_exists? :milestones, :group_id + + change_column_null :milestones, :project_id, true + + add_column :milestones, :group_id, :integer + end + + def down + # We cannot rollback project_id not null constraint if there are records + # with null values. + execute "DELETE from milestones WHERE project_id IS NULL" + + remove_column :milestones, :group_id + change_column :milestones, :project_id, :integer, null: false + end +end |