我在做db设计时在我的列之间创建主 - >外键关系。我的数据库设计应该是:Rails belongs_to和has_many没有创建主外键关系
用户表:用户ID(主键),名
Shoppinglist表:商品ID(主键),用户ID(外键)
这里是我的移民文件:
class CreateUsers < ActiveRecord::Migration
def change
create_table :users do |t|
t.integer :userid, :primary_key
has_many :shoppinglists, dependent: :destroy
t.timestamps null: false
end
end
end
class CreateShoppinglists < ActiveRecord::Migration
def change
create_table :shoppinglists do |t|
t.integer :shoppingid, :primary_key
t.belongs_to :userid
t.timestamps null: false
end
end
end
没有办法在创建表时创建上述内容,而不是创建新的迁移文件?
我使用这个命令来检查我的关系,我没有看到任何关系创建:
User.reflect_on_all_associations
此行不是't.belongs_to:userid'。它应该是't.belongs_to:user' – Pavan
为什么你需要明确地创建主键?为什么不能自动使用由轨道生成的那些? – Darpa