2015-04-23 80 views
2

我们有一种情况,其中表列名称之一使用后缀“_id”。迁移代码:防止从创建外键约束耙子迁移

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

当运行分贝:迁移失败,因为铁轨试图创建REF_ID一个外键约束,结果发现没有所谓的“裁判”表。在我们的例子中,“ref_id”不是外键。

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

+0

AFAIK不应该是你的情况。它从不发生。显示您的完整迁移。 –

+0

它发生了,因为我们有模式加gem,这使得rails自动创建外键约束。 – hudarsono

回答

2

看来你有一个schema_plus宝石。你可以这样做:

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

非常感谢,确切地工作。 – hudarsono