如何使用 Hanami/Repository 访问多个数据库
How can I access more than one database with Hanami/Repository
我有一个必须从数据仓库生成报告的应用程序。
我不想将特定于应用程序的数据(用户、权限、报告定义等)保存在仓库所在的同一个数据库中。此外,将来我很可能还必须访问其他数据库(甚至可能是 Oracle)。
我已经在 .env 文件中配置了我的数据库连接,但我不知道是否或在哪里可以定义一个新连接,也不知道如何为这个显式连接实例化一个存储库。
由于这是我的应用程序中的第二个容器,我想知道是否可以更改一个容器的 orm,当 hanami-model 不适合我的需要时...
这是一个如何使用 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
抱歉,您目前不能为每个项目连接到多个数据库。我们正在 1.0 之后评估此功能。
我有一个必须从数据仓库生成报告的应用程序。
我不想将特定于应用程序的数据(用户、权限、报告定义等)保存在仓库所在的同一个数据库中。此外,将来我很可能还必须访问其他数据库(甚至可能是 Oracle)。
我已经在 .env 文件中配置了我的数据库连接,但我不知道是否或在哪里可以定义一个新连接,也不知道如何为这个显式连接实例化一个存储库。
由于这是我的应用程序中的第二个容器,我想知道是否可以更改一个容器的 orm,当 hanami-model 不适合我的需要时...
这是一个如何使用 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
抱歉,您目前不能为每个项目连接到多个数据库。我们正在 1.0 之后评估此功能。