代码之家  ›  专栏  ›  技术社区  ›  wizztjh

外键移民是不是需要让很多人都属于你工作?

  •  0
  • wizztjh  · 技术社区  · 15 年前

    我需要在迁移中创建外键才能让多个属于您的工作吗? 我是否可以不创建任何外键,例如:options=>“CONSTRAINT fk_box_storage REFERENCES box(id)”,并且仍然在模型中使用has_many和belong_to?

    2 回复  |  直到 15 年前
        1
  •  1
  •   Mauro Morales    15 年前

    如果你只需要一个访问数据库的web应用程序,就不需要了。如果您想用另一个应用程序访问数据库,或者直接访问数据库,我建议您创建外键,因为它们可以让您更好地了解那里发生的情况,并且不会让您插入错误的信息或错误地删除(如果您设置了on delete选项)

        2
  •  3
  •   Shreyas    15 年前

    您不需要创建任何此类约束。您只需要创建一个独立的迁移来创建连接表。 比方说,您有两个具有habtm、User和Role的模型。

    >> script/generate migration roles_users
    

    在你的迁徙中

    create_table :roles_users, :id => false do |t|
      t.references :user
      t.references :role
    end
    

    就这样!