15

我正在重新做一个应用程序并从旧应用程序迁移数据。一些模型名称将是相同的,但不是全部。

我正在编写一个 rake 任务来连接到旧数据库,读取记录,做一些事情并将结果写入新数据库。因为某些表名是相同的模型名称将是相同的,所以我想命名空间我的模型像这样

module OldData
    class Account <ActiveRecord::Base
      has_many :subcriptions
      establish_connection $olddb  
    end

    class Subscription <ActiveRecord::Base
      belongs_to :account
      establish_connection $olddb  
    end
end

$olddb 是连接旧数据库所需的哈希值

我可以打开帐户记录并阅读它们,但 Account 模型没有订阅关联。最新的 Rails 文档表明这应该可行。但事实并非如此。

有什么建议吗?

4

1 回答 1

34

也许你应该尝试明确设置类名

has_many :subcriptions, class_name: 'OldData::Subscription'

belongs_to :account, class_name: 'OldData::Account' 
于 2013-06-01T15:05:05.903 回答