带有Mysql Master / Slave的Datamapper

| 我似乎找不到任何有关如何使用datamapper与mysql主/从设置对话的信息。我正在使用dm-mysql-adapter运行rails3     
已邀请:
您可以为此使用DataMapper的多个数据存储功能:
DataMapper.setup(:default, \'mysql://master-host/mydb\')
DataMapper.setup(:slave, \'mysql://slave-host/mydb\')
现在,只要您想读取从属设备,请使用:
DataMapper.repository(:slave) do
  Person.first
end
不幸的是,它看起来不像你可以做透明的从主从读取到主写入:   [...]这将使用您与:external数据存储和   它找到的第一人称。稍后,当您呼叫.save这个人时,   它将保存回:external数据存储;一个对象知道   它来自什么上下文,应该保存回去。 因此,如果您尝试保存从奴隶检索到的人,则修改后它将尝试将其存储回奴隶数据库。     
这可能是您要寻找的... https://github.com/d11wtq/dm-master-slave-adapter     
您不必在应用程序中执行此操作,但是Mysql可以自行处理。这样,通过自动主服务器故障转移,您可以利用负载平衡和高可用性的所有优势。我强烈建议您通过基于应用程序的手动负载平衡进行此设置,因为您应该将持久层置于应用程序提供的业务逻辑之外。这带来了已经写好的优点,并且由于更好的关注点分离,使您的应用程序更具可伸缩性和可维护性。 有关概念的信息,请参见Mysql NDB文档;有关Mysql Clustering的快速入门,请参见本教程。     
1)您必须安装适配器。 2)添加要求     需要\'rubygems \'     要求\'data_mapper \' 3)配置我的SQL
DataMapper.setup(:default, \'mysql://localhost/the_database_name\')
要么
DataMapper.mysql(:host xxxx, :user xxxx, :password xxxx, :database xxxx)
4)创建您的模型对象,例如:
class Post
  include DataMapper::Resource

  property :id,         Serial    # An auto-increment integer key
  property :title,      String    # A varchar type string, for short strings
  property :body,       Text      # A text block, for longer string data.
  property :created_at, DateTime  # A DateTime, for any date you might like.
end
如果您有任何疑问,可以查看以下链接:http://datamapper.org/getting-started     

要回复问题请先登录注册