Проблемы с использованием устаревшей базы данных с новым приложением rails - PullRequest
2 голосов
/ 27 марта 2010

Каковы обычные проблемы / камни преткновения / проблемы / недостатки при использовании устаревшей базы данных с новым приложением rails?

Мы должны решить, использовать ли старую базу данных или писать сценарии миграции для переноса данных из старой базы данных в новую базу данных в соответствии с соглашениями rails. Что ты предлагаешь?

Ответы [ 2 ]

2 голосов
/ 27 марта 2010

Наименование таблиц было тем, что заставило меня некоторое время. Хитрость заключалась в том, чтобы использовать это в ваших моделях:

set_table_name  'old_table_name'
set_primary_key 'old_key_column'

Таким образом, вы можете использовать любое имя модели, которое хотите, при связывании с любой таблицей, которую хотите.

1 голос
/ 27 марта 2010

1) Обычно первая проблема заключается в том, что схема схемы базы данных имеет составные первичные ключи (ключи с несколькими столбцами), где Rails (или, по крайней мере, ActiveRecord) хочет получить первичные ключи с именем "id". Многие хорошие модели данных не используют суррогатные ключи, они используют натуральные ключи, поэтому они не могут избежать составных ключей. На практике при проектировании новой базы данных для ORM более практичным является использование суррогатных ключей с именем «id», но при этом обеспечивается целостность данных, всегда включая ограничение / индекс альтернативного ключа в естественный ключ.

2) Именование таблиц, использующее множественное число против единственного числа (Rails хочет, чтобы множественное число отображалось на объекты его домена. Со многими базами данных это легко можно преодолеть с помощью синонимов.

Это две проблемы, с которыми я столкнулся с Rails и другими средами MVC, но некоторые изменились за последние пару лет и предоставили альтернативы упрощенной чепухе. Изменить унаследованную базу данных дорого, а соблюдение соглашения об именах - большая ошибка, которую, как мне кажется, уже узнали.

...