我似乎无法找到有关如何使用datamapper与
mysql主/从设置进行通信的任何信息.我正在使用dm-mysql-adapter运行rails3 最佳答案 您可以使用DataMapper的
Multiple Data Store功能:
DataMapper.setup(:default, 'mysql://master-host/mydb')
DataMapper.setup(:slave, 'mysql://slave-host/mydb')
现在,无论何时您想从奴隶中读取,请使用:
DataMapper.repository(:slave) do
Person.first
end
不幸的是,它看起来不像你可以做透明的read-from-slave写入到master:
[…] This will use your connection to the :external data-store and the
first Person it finds. Later, when you call .save on that person,
it’ll get saved back to the :external data-store; An object is aware
of what context it came from and should be saved back to.
因此,如果您尝试保存从从站检索到的人员,则会在修改后尝试将其存储回从属数据库.