rails中的多个数据库和迁移失败以更改数据类型

时间:2014-03-07 09:03:13

标签: ruby-on-rails activerecord

我在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连接的模式。 有人知道热“刷新”吗?

非常感谢!

0 个答案:

没有答案