summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYorick Peterse <yorickpeterse@gmail.com>2017-08-14 17:05:32 +0200
committerYorick Peterse <yorickpeterse@gmail.com>2017-08-14 17:05:32 +0200
commitc8997ae5d24653126d8bba8131b070d7fb0eb53d (patch)
tree3eea9b67d92aa9d14072982d95b87bf82d603b84
parent12cdc4616df600edef92f417aecce217f2e5326d (diff)
downloadgitlab-ce-c8997ae5d24653126d8bba8131b070d7fb0eb53d.tar.gz
Remove invalid broadcast messages before migratingfix-broadcast-messages-migration
This prevents the migration from failing to set "NOT NULL" constraints when some rows contain NULL values that are no longer allowed.
-rw-r--r--db/migrate/20170809134534_add_broadcast_message_not_null_constraints.rb14
1 files changed, 13 insertions, 1 deletions
diff --git a/db/migrate/20170809134534_add_broadcast_message_not_null_constraints.rb b/db/migrate/20170809134534_add_broadcast_message_not_null_constraints.rb
index 13e8ef52f22..5551fb51a6e 100644
--- a/db/migrate/20170809134534_add_broadcast_message_not_null_constraints.rb
+++ b/db/migrate/20170809134534_add_broadcast_message_not_null_constraints.rb
@@ -9,9 +9,21 @@ class AddBroadcastMessageNotNullConstraints < ActiveRecord::Migration
COLUMNS = %i[starts_at ends_at created_at updated_at message_html]
- def change
+ class BroadcastMessage < ActiveRecord::Base
+ self.table_name = 'broadcast_messages'
+ end
+
+ def up
COLUMNS.each do |column|
+ BroadcastMessage.where(column => nil).delete_all
+
change_column_null :broadcast_messages, column, false
end
end
+
+ def down
+ COLUMNS.each do |column|
+ change_column_null :broadcast_messages, column, true
+ end
+ end
end