Я могу быть склонен к DataMapper, но я думаю, что DM, как правило, хороший вариант для интеграции с устаревшими базами данных.
DM позволяет отображать значимые модели
и имена свойств для загадочного наследия
соглашения об именах таблиц и столбцов.
Это позволяет вам сделать это либо на
по модели / свойству или по всему приложению.
DM поддерживает ленивые свойства, которые будут выбираться только при фактическом доступе.
DM имеет бесшовную поддержку составных первичных ключей.
DM заботится только о свойствах (столбцах), которые вы явно указали
заявить в ваших моделях. Другие столбцы никогда не будут затронуты или прочитаны.
DM хорошо работает с ограничениями внешнего ключа в вашей базе данных и с помощью dm-ограничений также поддерживает их создание.
Есть некоторая документация и по http://datamapper.org/docs/legacy.