Rails 3: ActiveRecord против DataMapper (против ???) для устаревших баз данных MySQL - PullRequest
5 голосов
/ 14 ноября 2010

Какой ORM лучше всего использовать с новым приложением Rails 3 для устаревшей базы данных MySQL 5.1?Я не ожидаю когда-либо выполнить миграцию для этой базы данных (хотя схема может время от времени меняться), но я обязательно напишу в нее.

Ответы [ 2 ]

12 голосов
/ 14 ноября 2010

Я могу быть склонен к DataMapper, но я думаю, что DM, как правило, хороший вариант для интеграции с устаревшими базами данных.

  • DM позволяет отображать значимые модели и имена свойств для загадочного наследия соглашения об именах таблиц и столбцов. Это позволяет вам сделать это либо на по модели / свойству или по всему приложению.

  • DM поддерживает ленивые свойства, которые будут выбираться только при фактическом доступе.

  • DM имеет бесшовную поддержку составных первичных ключей.

  • DM заботится только о свойствах (столбцах), которые вы явно указали заявить в ваших моделях. Другие столбцы никогда не будут затронуты или прочитаны.

  • DM хорошо работает с ограничениями внешнего ключа в вашей базе данных и с помощью dm-ограничений также поддерживает их создание.

Есть некоторая документация и по http://datamapper.org/docs/legacy.

5 голосов
/ 14 ноября 2010

Существует также устаревшая библиотека dm-types (https://github.com/postmodern/dm-types-legacy)), которая предоставляет общие типы DM для отображения в странно отформатированных данных (числовые IP-адреса, кодированный в HTML / URI текст, строки даты / времени).

...