Я исходил из фона, где схема БД определена настолько полно, насколько это возможно, например, длины полей, а не NULL, значения по умолчанию, сложная ссылочная целостность и т. Д. В Rails я должен делать все это в моделичтобы получить умные проверки.Так я тоже дублирую все в определении базы данных?
Например, если электронное письмо является обязательным полем, могу ли я добавить validates :email, :presence => true
к модели И :null => false
к миграции?
А как насчет строк?Если у меня :length => { :maximum => 50 }
в модели, я также хочу :limit => 50
в миграции?
Добавлять ли внешние ключи в базу данных для обеспечения ссылочной целостности?
Или это "Rails способ «сделать как можно больше в модели и оставить базу данных как« тупой »механизм персистентности?