将引用列添加到表中

要将 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