DataMapper с устаревшей схемой БД.Первичный ключ через таблицу последовательностей - PullRequest
1 голос
/ 04 мая 2011

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

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

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

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

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

1 Ответ

1 голос
/ 06 мая 2011

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...