Rails有两个不同的数据库

Gan*_*war 5 sql-server ruby-on-rails mongodb mongoid tiny-tds

:我已经使用了两个不同的数据库为我的Rails应用程序MongoDBMsSQL使用Mongoid,并activerecord-sqlserver-adapter分别适配器.一切都很好,但生成模型时出现问题.

问题是"我怎样才能生成与之相关MongoDBMsSQL不同的模型?"

例如:我要生成People新型涉及MongoIDAnimal与模型MsSQL.当我用命令生成时:rails g model Animal name:string它生成与mongoid相关的模型.如何使用与MsSQL相关的ActiveRecord生成模型Animal.
请帮我.谢谢

Chr*_*ley 1

首先让我检查一下我是否正确理解了你的问题:

您有 2 个数据库和一系列模型/迁移,并且您想要一种方法来告诉 Rails 在运行迁移并使用模型访问数据库时使用哪个数据库?

如果我在正确的区域,那么您需要在迁移中添加一个方法,该方法会覆盖ActiveRecord::Migrationconnection()中的默认方法。

def connection
  ActiveRecord::Base.establish_connection(:conn_name).connection
end
Run Code Online (Sandbox Code Playgroud)

在哪里:conn_name您在 config/database.yml 中为连接设置指定的名称在

在你的模型中添加行

establish_connection :conn_name
Run Code Online (Sandbox Code Playgroud)

到模型文件的顶部,模型现在将知道要连接到哪个数据库。