ссылочная целостность в рельсах - PullRequest
3 голосов
/ 09 августа 2010

Итак, я только что наткнулся на тот факт, что rails не поддерживает ссылочную целостность в отношении внешних ключей, и был довольно удивлен.Итак, каков наилучший способ справиться с этим?Есть ли «рельсовый» способ справиться с ссылочной целостностью?

В идеале приложение не должно иметь дело со всем этим;БД должен.Я смотрел на плагины как иностранец.Интересно, есть ли у этого метода некоторые недостатки.Как с этим обычно справляются в рельсах?

Ответы [ 2 ]

6 голосов
/ 09 августа 2010

Это проектное решение для Rails ActiveRecord.

Я считаю хранимые процедуры и ограничения мерзкими и безрассудными разрушителями согласованности.Нет, мистер База данных, вы не можете иметь мою бизнес-логику.Ваши процедурные амбиции не принесут плодов, и вам придется извлечь эту логику из моих мертвых, холодных объектно-ориентированных рук.

Выберите один слой умного - DHH

Таким образом, ответ заключается в том, что ссылочная целостность, обрабатываемая БД, совсем не относится к Rails.

1 голос
/ 11 октября 2012

Вы можете обеспечить программную ссылочную целостность, используя

,:dependent => :restrict

в ваших утверждениях has_one и has_many!

Блог, описывающий это и как проверить, прежде чем ошибка произойдет

Соответствующие документы Active Record

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