DataMapper с устаревшей схемой БД. Первичный ключ через таблицу последовательностей

ОБНОВЛЕНИЕ: в конце я написал тип свойства Sequence для DataMapper. Берите и используйте на свой страх и риск ;) https://gist.github.com/959059

Мы переносим большое, уже работающее веб-приложение PHP на Ruby on Rails. Наша схема далека от совместимости со значениями ActiveRecord по умолчанию, и она слишком велика, чтобы просто перенести схему, поэтому я отказался от ActiveRecord и начал использовать DataMapper, который позволяет нам легче скрывать различия схемы. Это хорошо работает с некоторыми тестами только для чтения, которые я сделал.

Теперь одна из самых больших несовместимостей с нашей схемой заключается в том, что мы используем ADODB и генерируем первичные ключи до вставки, используя таблицу sequences (это распространенный шаблон), а не с auto_increment.

Есть ли способ заставить DataMapper генерировать идентификаторы таким же образом? Я не вижу упоминания об этом в документах.

На самом деле мы не можем переключить таблицы для использования auto_increment, потому что размер приложения означает, что мы на самом деле используем гибридную установку Rails/PHP с некоторым прокси и совместным использованием сеансов, поэтому мы можем постепенно мигрировать, поэтому приложение PHP должно продолжать работать. со схемой как есть (или с небольшими изменениями).


person d11wtq    schedule 04.05.2011    source источник


Ответы (1)


Я действительно должен был опубликовать это редактирование в качестве ответа:

В конце концов я написал тип свойства Sequence для DataMapper. Берите и используйте на свой страх и риск ;) https://gist.github.com/959059

person d11wtq    schedule 06.05.2011