将引用列添加到表中
要将 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