about summary refs log tree commit diff
path: root/db/migrate
diff options
context:
space:
mode:
authorThibG <thib@sitedethib.com>2019-03-14 20:10:43 +0100
committerEugen Rochko <eugen@zeonfederated.com>2019-03-14 20:10:43 +0100
commit9915777a17cfdca9b41c6a3a4f682a0c99c787c6 (patch)
tree1be2cccb36a63a4a80d4c0583011e6a747e7374c /db/migrate
parent874bd3ac0c56e2d2901785e170b27f5cde32b33b (diff)
Migrate existing `open_registrations` setting to the new `registrations_mode` (#10269)
* Migrate existing `open_registrations` setting to the new `registrations_mode`

Fixes #10263

* Remove unrelated db changes that have creeped in
Diffstat (limited to 'db/migrate')
-rw-r--r--db/migrate/20190314181829_migrate_open_registrations_setting.rb15
1 files changed, 15 insertions, 0 deletions
diff --git a/db/migrate/20190314181829_migrate_open_registrations_setting.rb b/db/migrate/20190314181829_migrate_open_registrations_setting.rb
new file mode 100644
index 000000000..e5fe95009
--- /dev/null
+++ b/db/migrate/20190314181829_migrate_open_registrations_setting.rb
@@ -0,0 +1,15 @@
+class MigrateOpenRegistrationsSetting < ActiveRecord::Migration[5.2]
+  def up
+    open_registrations = Setting.find_by(var: 'open_registrations')
+    return if open_registrations.nil? || open_registrations.value
+    setting = Setting.where(var: 'registrations_mode').first_or_initialize(var: 'registrations_mode')
+    setting.update(value: 'none')
+  end
+
+  def down
+    registrations_mode = Setting.find_by(var: 'registrations_mode')
+    return if registrations_mode.nil?
+    setting = Setting.where(var: 'open_registrations').first_or_initialize(var: 'open_registrations')
+    setting.update(value: registrations_mode.value == 'open')
+  end
+end