我在rails中使用多个数据库,这些数据库由子域选择。 但是,如果我升级数据类型,让我们说Invoice.sum,从整数到十进制,那么新的Invoice.sum是十进制的,但在连接到其中一个子域数据库后,它再次是整数。
更具体:
迁移
change_column :invoices, :sum, :decimal
rake db:migrate
rake db:migrate_for_all_subdomain_databases
要重现的伪代码:
rails c
details = YAML::load(ERB.new(IO.read(yml_path)).result)['database_details']
ActiveRecord::Base.establish_connection(details)
Invoice //sum IS INTEGER instead of decimal
但是当我在连接到子域数据库之前检查数据类型时,它是十进制的:
rails c
Invoice //sum is DECIMAL
details = YAML::load(ERB.new(IO.read(yml_path)).result)['database_details']
ActiveRecord::Base.establish_connection(details)
Invoice //sum IS DECIMAL
我认为,rails中有一些东西可以缓存每个activerecord连接的模式。 有人知道热“刷新”吗?
非常感谢!