summaryrefslogtreecommitdiff
path: root/db/migrate/20160328115649_migrate_new_notification_setting.rb
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2016-03-28 14:27:30 +0200
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2016-03-30 10:44:20 +0200
commit73c5a3410596165244bfa3d2f657c313ec1c558c (patch)
tree6d2caec92dfe7c7e50bf42a108632410e3bd7a3f /db/migrate/20160328115649_migrate_new_notification_setting.rb
parent31b0e53015e38e51d9c02cca85c9279600b1bf85 (diff)
downloadgitlab-ce-73c5a3410596165244bfa3d2f657c313ec1c558c.tar.gz
Migrate notification setting from members table
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Diffstat (limited to 'db/migrate/20160328115649_migrate_new_notification_setting.rb')
-rw-r--r--db/migrate/20160328115649_migrate_new_notification_setting.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/db/migrate/20160328115649_migrate_new_notification_setting.rb b/db/migrate/20160328115649_migrate_new_notification_setting.rb
new file mode 100644
index 00000000000..331c35535f2
--- /dev/null
+++ b/db/migrate/20160328115649_migrate_new_notification_setting.rb
@@ -0,0 +1,13 @@
+# This migration will create one row of NotificationSetting for each Member row
+# It can take long time on big instances. Its unclear yet if this migration can be done online.
+# This comment should be updated by @dzaporozhets before 8.7 release. If not - please ask him to do so.
+class MigrateNewNotificationSetting < ActiveRecord::Migration
+ def up
+ timestamp = Time.now
+ execute "INSERT INTO notification_settings ( user_id, source_id, source_type, level, created_at, updated_at ) SELECT user_id, source_id, source_type, notification_level, '#{timestamp}', '#{timestamp}' FROM members"
+ end
+
+ def down
+ NotificationSetting.delete_all
+ end
+end