2010-03-27 3 views
2

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

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

ответ

1

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

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

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

2

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

set_table_name 'old_table_name' 
set_primary_key 'old_key_column' 

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