ruby - activerecord 迁移中的外键与 schema.rb

标签 ruby activerecord foreign-keys

我正在运行 activerecord 3.0.0beta。我知道您可以使用外键创建列,例如

create_table "my_things" do |t|
  t.reference "other_thing_id"
end

但我忘了,只是把它变成了一个普通的整数。现在,我添加了一个类似的迁移

execute("alter table my_things add constraint fk_other_thing foreign key (other_thing_id) references other_things(id)")

效果很好,但我没有在 schema.rb 中看到任何等效项(我希望有 t.reference),所以如果我执行模式加载,我不会得到我的约束。解决该问题的最佳方法是什么?

最佳答案

您可能对 foreigner 感兴趣.它可以帮助您在迁移中创建外键,并将它们添加到您的 schema.rb。

关于ruby - activerecord 迁移中的外键与 schema.rb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3105631/

相关文章:

使用 gets 时,Ruby 循环无法中断

ruby - 查找字符串中的常见模式并根据模式对它们进行分组

sql - MySQL:如何以编程方式确定外键关系?

mysql - 如何编写处理多个字段的外键约束

ruby - 如何清除 `StringIO` 实例?

html - 如何在 Jekyll 中手动处理 Liquid 标签

ruby-on-rails - PG::UndefinedTable:错误:关系“productsrules”不存在

ruby-on-rails - ActiveRecord::ReadOnlyRecord:Diff 在 destroy_all 上被标记为只读

ruby-on-rails-3 - Rails:如何使用before_save更改基于另一个字段的字段值?

c# - EntityFramework 6 AddOrUpdate 不适用于复合或复合主键