DataMapper与遗留数据库架构。主键通过序列表

时间:2011-05-04 14:05:21

标签: ruby-on-rails ruby datamapper legacy sequences

更新:我最后为DataMapper编写了一个Sequence属性类型。使用和使用需要您自担风险;)https://gist.github.com/959059

我们正在将一个已经在生产的大型PHP Web应用程序迁移到Ruby on Rails。我们的架构远远不能与ActiveRecord的默认设备兼容,而且它太大而不能简单地迁移架构,所以我放弃了ActiveRecord并开始使用DataMapper,它允许我们更容易地隐藏架构差异。这与我已经完成的一些只读测试很有效。

现在,与我们的架构最大的不兼容之一是我们使用ADODB并在插入之前使用sequences表生成主键(这是一种常见模式),而不是使用auto_increment。

有没有办法告诉DataMapper以相同的方式生成ID?我没有在文档中提到它。

我们无法真正切换表以使用auto_increment,因为应用程序的大小意味着我们实际上正在运行具有一些代理和会话共享的混合Rails / PHP设置,因此我们可以逐步迁移,因此PHP应用程序需要按原样继续使用模式(或只进行微小的更改)。

1 个答案:

答案 0 :(得分:1)

我应该将该编辑作为答案发布:

我最后为DataMapper编写了一个Sequence属性类型。使用和使用需要您自担风险;)https://gist.github.com/959059