从Rails关联创建外键

时间:2015-01-14 15:12:53

标签: ruby-on-rails foreign-keys entity-relationship

如何从Rails关联自动创建外键?最好的解决方案应该从Rails关联生成Rails数据库迁移。

2 个答案:

答案 0 :(得分:3)

为此你可以使用immigrant宝石 看看https://github.com/jenseng/immigrant

从他们的主页github上复制/粘贴:

<强>用法

rails generate immigration AddKeys

这将创建一个名为AddKeys的迁移,它将为任何缺少的外键提供add_foreign_key语句。移民通过评估模型中的关联来推断缺失的移民(例如belongs_to,has_many等)。只会添加丢失的密钥;现有的永远不会被改变或删除。

复制/粘贴结束

正如所说,它将创建一个迁移...不会挂钩到其他任何东西,以便在你的新迁移中自动检测到有一个外键并将添加它。

答案 1 :(得分:0)

添加迁移时,

schema_plus(https://github.com/SchemaPlus/schema_plus)会自动添加外键。我已经使用它多年了,但希望现在使用Rails 4.2的原生外键支持,自动钩子也可以在某些时候使用。与此同时,这款宝石效果很好。