joj*_*ojo 23 ruby-on-rails foreign-keys foreign-key-relationship auto-generate
我遇到与以下帖子相同的问题.
所以我想知道,为什么Rails默认不支持生成外键?不是必要的吗?或者我们应该手动完成吗?
Til*_*dor 57
不需要数据库限制,只需要在您的汽车中佩戴安全带.你可以随心所欲地开车,一切都会很好,直到问题到来.安全带(约束)使您(数据)安全.
因此,强烈建议您创建约束以在数据库级别强制执行数据完整性,因为很可能1)您将在Rails之外的某些位置与数据库进行交互2)您将在代码中导致错误导致无效数据.
数据库约束可以更多工作,但它可以节省大量工作,特别是当您的代码可以对数据做出假设并且不需要进行大量有效性检查时.
ActiveRecord不支持开箱即用外键的原因是因为它与数据库无关,并且所有数据库系统都不普遍支持外键.