【问题标题】:How can I access more than one database with Hanami/Repository如何使用 Hanami/Repository 访问多个数据库
【发布时间】:2016-10-25 07:23:32
【问题描述】:
我有一个必须从数据仓库生成报告的应用程序。
我不想将应用程序特定数据(用户、权限、报告定义等)保存在仓库所在的同一数据库中。此外,将来我很可能还必须访问其他数据库(甚至可能是 Oracle)。
我已经在 .env 文件中配置了我的数据库连接,但我不知道是否或在哪里可以定义新连接以及如何为这个显式连接实例化存储库。
由于这是我的应用程序中的第二个容器,我想知道当 hanami-model 不适合我的需要时是否可以更改一个容器的 orm...
【问题讨论】:
标签:
ruby
hanami
hanami-model
【解决方案1】:
这是一个如何使用 hanami 连接到两个数据库的示例:
require 'pg'
require 'hanami/model'
require 'hanami/model/adapters/sql_adapter'
mapper = Hanami::Model::Mapper.new do
# ...
end
adapter1 = Hanami::Model::Adapters::SqlAdapter.new(mapper, 'postgres://host:port/database1')
adapter2 = Hanami::Model::Adapters::SqlAdapter.new(mapper, 'postgres://host:port/database2')
DataRepository.adapter = adapter1
UserRepository.adapter = adapter2
【解决方案2】:
很抱歉,您目前不能为每个项目连接多个数据库。我们正在 1.0 之后评估此功能。