將引用列新增到表中

要將 team 的引用新增到 users 表,請執行以下命令:

$ rails generate migration AddTeamRefToUsers team:references

這會生成以下遷移:

class AddTeamRefToUsers < ActiveRecord::Migration[5.0]
  def change
    add_reference :users, :team, foreign_key: true
  end
end

該遷移將在 users 表中建立一個 team_id 列。

如果要在新增的列上新增適當的 indexforeign_key,請將命令更改為 rails generate migration AddTeamRefToUsers team:references:index。這將生成以下遷移:

class AddTeamRefToUsers < ActiveRecord::Migration
  def change
    add_reference :users, :team, index: true
    add_foreign_key :users, :teams
  end
end

如果你想為 Rails 自動生成的引用列命名,請在遷移中新增以下內容:(例如:你可能想要在 Post 表中呼叫建立 PostPost 作為 Author

class AddAuthorRefToPosts < ActiveRecord::Migration
  def change
    add_reference :posts, :author, references: :users, index: true
  end
end