开发者

DataMapper with legacy DB schema. Primary key via sequences table

开发者 https://www.devze.com 2023-03-02 15:19 出处:网络
UPDATE: I wrote a Sequence property type for DataMapper in the end.Take and use at your own risk ;) https://gist.github.com/959059

UPDATE: I wrote a Sequence property type for DataMapper in the end. Take and use at your own risk ;) https://gist.github.com/959059

We're moving a large, already in production PHP web application to Ruby on Rails. Our schema is far from compatible with ActiveRecord's defaults开发者_开发百科, and it's too large to simply migrate the schema, so I've ditched ActiveRecord and started using DataMapper, which allows us to hide the schema differences more easily. This is working well with some read-only tests I've done.

Now, one of the biggest incompatibilities with our schema is that we use ADODB and generate primary keys prior to the insert, using a sequences table (this is a common pattern), instead of with auto_increment.

Is there a way to tell DataMapper to generate IDs in the same way? I don't see mention of it in the docs.

We can't really switch the tables to use auto_increment because the size of the application means we're actually running a hybrid Rails/PHP setup with some proxying and session sharing so we can progressively migrate across, therefore the PHP application needs to keep working with the schema as-is (or with only minor changes).


I should really have posted that edit as an answer:

I wrote a Sequence property type for DataMapper in the end. Take and use at your own risk ;) https://gist.github.com/959059

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号