为了账号安全,请及时绑定邮箱和手机立即绑定

将Rails 3.1与多个数据库连接

将Rails 3.1与多个数据库连接

摇曳的蔷薇 2019-10-05 14:43:17
在ShowNearby,我们一直在进行从PHP到RoR 3.1的大规模迁移,并且我们面临着一些您可能已经解决的一些问题。我们拥有大量数据,因此我们决定将数据库分成几个我们可以分别处理的数据库。例如,我们的帐户,地点,日志和其他信息被分为几个数据库我们需要获得移植,装置,模型才能很好地玩耍,到目前为止,情况一直很混乱。我们对于解决方案可接受的一些要求:一个模型应该与其中一个数据库中的一个表相关。rake db:drop-应该删除我们在database.yml中指定的所有数据库环境rake db:create-应该创建我们在database.yml中指定的所有数据库环境rake db:migrate-应该运行到各种数据库的迁移rake db:test-应该获取固定装置并将其放入各种数据库以及测试单元/功能/等我们正在考虑为每个数据库设置单独的Rails项目,并将它们与ActiveResource连接起来,但是我们认为这不是很有效。你们有没有处理过类似的问题?
查看完整描述

3 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

连接到不同的数据库非常容易:


# model in the "default" database from database.yml

class Person < ActiveRecord::Base


  # ... your stuff here


end


# model in a different database

class Place < ActiveRecord::Base


  establish_connection (

    :adapter  => "mysql",

    :host     => "other_host",

    :username => "username",

    :password => "password",

    :database => "other_db"

  )


end

我会警惕设置多个Rails项目,因为这将为控制器的数据检索增加很多开销,这可能会使事情变慢。


至于您关于迁移,固定装置,模型等的问题:我认为不会有简单的方法,因此请发布单独的问题,并尽可能具体。


将数据库合并为一个不是一种选择吗?它将使您的生活更加轻松!


查看完整回答
反对 回复 2019-10-05
  • 3 回答
  • 0 关注
  • 475 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信