将引用列添加到表中
要将 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 列。
如果要在添加的列上添加适当的 index 和 foreign_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 表中调用创建 Post 的 Post 作为 Author)
class AddAuthorRefToPosts < ActiveRecord::Migration
def change
add_reference :posts, :author, references: :users, index: true
end
end