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
This commit is contained in:
ThibG 2019-03-14 20:10:43 +01:00 committed by Eugen Rochko
parent 874bd3ac0c
commit 9915777a17
2 changed files with 16 additions and 14 deletions

View file

@ -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

View file

@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 2019_03_07_234537) do
ActiveRecord::Schema.define(version: 2019_03_14_181829) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@ -36,19 +36,6 @@ ActiveRecord::Schema.define(version: 2019_03_07_234537) do
t.index ["account_id", "domain"], name: "index_account_domain_blocks_on_account_id_and_domain", unique: true
end
create_table "account_identity_proofs", force: :cascade do |t|
t.bigint "account_id"
t.string "provider", null: false
t.string "provider_username", null: false
t.text "token", null: false
t.boolean "proof_valid"
t.boolean "proof_live"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.index ["account_id", "provider", "provider_username"], name: "index_account_proofs_on_account_and_provider_and_username", unique: true
t.index ["account_id"], name: "index_account_identity_proofs_on_account_id"
end
create_table "account_moderation_notes", force: :cascade do |t|
t.text "content", null: false
t.bigint "account_id", null: false