我来自一个尽可能完全定义数据库模式的背景,例如:字段长度,非空,默认值,复杂的参照完整性等.使用Rails,我必须在模型中完成所有这些以获得智能验证.那么我也要复制数据库定义中的所有内容吗?
例如,如果电子邮件是必填字段,我是否添加验证:email,:presence =>对模型AND为真:null =>迁移错误?
字符串怎么样?如果我有:length => {:maximum => 50}在模型中,我是否也想要:limit =>迁移50?
或者是在模型中尽可能多地执行“Rails方式”并将数据库保留为“哑”持久性引擎?