discourse/db/migrate/20140211230222_move_cas_settings.rb

37 lines
1.4 KiB
Ruby
Raw Normal View History

class MoveCasSettings < ActiveRecord::Migration
def change
#As part of removing the build in CAS authentication we should
#convert the data over to be used by the plugin.
cas_hostname = SiteSetting.find_by(name: "cas_hostname")
cas_sso_hostname = SiteSetting.find_by(name: "cas_sso_hostname")
2017-07-28 09:20:09 +08:00
if cas_hostname && ! cas_sso_hostname
#convert the setting over for use by the plugin
cas_hostname.update_attribute(:name, 'cas_sso_hostname')
2017-07-28 09:20:09 +08:00
elsif cas_hostname && cas_sso_hostname
#copy the setting over for use by the plugin and delete the original setting
2017-07-28 09:20:09 +08:00
cas_sso_hostname.update_attribute(:value, cas_hostname.value)
cas_hostname.destroy
end
cas_domainname = SiteSetting.find_by(name: "cas_domainname")
cas_sso_email_domain = SiteSetting.find_by(name: "cas_sso_email_domain")
2017-07-28 09:20:09 +08:00
if cas_domainname && ! cas_sso_email_domain
#convert the setting over for use by the plugin
cas_domainname.update_attribute(:name, 'cas_sso_email_domain')
2017-07-28 09:20:09 +08:00
elsif cas_domainname && cas_sso_email_domain
#copy the setting over for use by the plugin and delete the original setting
2017-07-28 09:20:09 +08:00
cas_sso_email_domain.update_attribute(:value, cas_domainname.value)
cas_domainname.destroy
end
cas_logins = SiteSetting.find_by(name: "cas_logins")
if cas_logins
cas_logins.destroy
end
2017-07-28 09:20:09 +08:00
#remove the unused table
drop_table :cas_user_infos
end
end