Предполагая, что у меня две таблицы: users
и orders
. У пользователя много заказов, поэтому, естественно, в моей таблице заказов есть внешний user_id.
Какова наилучшая практика в рельсах (с точки зрения скорости, стиля и ссылочной целостности), чтобы гарантировать, что если пользователь будет удален, все зависимые заказы также будут удалены? Я рассматриваю следующие варианты:
Случай 1. Используя :dependent => :destroy
в пользовательской модели
Случай 2. Определение табличных заказов в postgres и записи
user_id integer REFERENCES users(id) ON DELETE CASCADE
Есть ли причина, почему я должен использовать Случай 1? Кажется, что Case 2 делает все, что я хочу, чтобы он делал? Есть ли разница в скорости выполнения?