mirror of
https://github.com/discourse/discourse.git
synced 2024-11-25 01:32:23 +08:00
25 lines
840 B
Ruby
25 lines
840 B
Ruby
|
class DisableExternalAuthsByDefault < ActiveRecord::Migration
|
||
|
|
||
|
def enable_setting_if_default(name)
|
||
|
result = User.exec_sql("SELECT count(*) count FROM site_settings WHERE name = '#{name}'")
|
||
|
if result[0]['count'].to_i == 0
|
||
|
execute "INSERT INTO site_settings (name, data_type, value, created_at, updated_at) VALUES ('#{name}', 5, 't', now(), now())"
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def up
|
||
|
users_count_query = User.exec_sql("SELECT count(*) FROM users")
|
||
|
if users_count_query[0]['count'].to_i > 1
|
||
|
# existing site, so keep settings as they are
|
||
|
enable_setting_if_default 'enable_yahoo_logins'
|
||
|
enable_setting_if_default 'enable_google_oauth2_logins'
|
||
|
enable_setting_if_default 'enable_twitter_logins'
|
||
|
enable_setting_if_default 'enable_facebook_logins'
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def down
|
||
|
# No need to undo
|
||
|
end
|
||
|
end
|