【问题标题】:Prevent rake migrate from creating foreign key constraint防止 rake migrate 创建外键约束
【发布时间】:2015-04-23 07:16:21
【问题描述】:

我们有一种情况,其中一个表列名使用后缀“_id”。迁移代码:

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

运行db:migrate时失败,因为rails尝试为ref_id创建外键约束,发现没有名为“refs”的表。在我们的例子中,“ref_id”不是外键。

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

【问题讨论】:

  • AFAIK 这不应该是你的情况。它永远不会发生。显示您的完整迁移。
  • 碰巧是因为我们有schema plus gem,它使rails自动创建外键约束。

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.2


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2011-12-24
    • 1970-01-01
    • 2012-04-03
    • 1970-01-01
    • 2018-05-01
    • 2013-05-04
    • 1970-01-01
    • 2015-08-12
    相关资源
    最近更新 更多