防止 rake migrate 创建外键约束

Prevent rake migrate from creating foreign key constraint

我们有一个案例,其中 table 列名称之一使用后缀“_id”。迁移代码:

create_table :companies do |t|
  t.integer :ref_id  
  t.string :name
end

运行db:migrate时失败,因为rails试图为ref_id创建外键约束,发现没有table 称为 "refs"。在我们的例子中 "ref_id" 不是外键。

我们有没有办法阻止rails为该列创建外键约束?

您似乎有 schema_plus gem。你可以这样做:

create_table :companies do |t|
  t.integer :ref_id, foreign_key: false  
  t.string :name
end