当前位置:  开发笔记 > 编程语言 > 正文

如何最好地处理与ActiveRecord的每个模型数据库连接?

如何解决《如何最好地处理与ActiveRecord的每个模型数据库连接?》经验,为你挑选了2个好方法。

我希望以规范的方式来做到这一点.我的谷歌搜索已经缩短了.我有一个ActiveRecord模型应该映射到不同于应用程序其余部分的数据库.我想将新配置存储在database.yml文件中.

我知道应该调用establish_connection,但是不清楚在哪里.这是我到目前为止所得到的,它不起作用:

class Foo < ActiveRecord::Base
    establish_connection(('foo_' + ENV['RAILS_ENV']).intern)
end

Priit.. 21

此外,最好将使用不同数据库的模型子类化,例如:

class AnotherBase < ActiveRecord::Base
  self.abstract_class = true
  establish_connection "anotherbase_#{RAILS_ENV}"
end

在你的模型中

class Foo < AnotherBase
end

当您需要添加访问另一个数据库的后续模型时,它非常有用.



1> Priit..:

此外,最好将使用不同数据库的模型子类化,例如:

class AnotherBase < ActiveRecord::Base
  self.abstract_class = true
  establish_connection "anotherbase_#{RAILS_ENV}"
end

在你的模型中

class Foo < AnotherBase
end

当您需要添加访问另一个数据库的后续模型时,它非常有用.



2> Terry G Lorb..:

嘿.我是正确的!更干净:

class Foo < ActiveRecord::Base
    establish_connection "foo_#{ENV['RAILS_ENV']}"
end

伟大的职位在pragedave.pragprog.com.

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有