我在 ruby 中使用迁移来创建这些表和模型。
我有一个表信息和一个表详细信息,信息表中的每个条目在详细信息表中可以有一个关联。
所以我创建了它们:
create_table :details do |t|
t.integer :id
t.string :Bezeichnung
t.binary :Koordinaten
end
create_table :informations do |t|
t.integer :id
t.integer :DetailID
t.integer :Longitude
t.integer :Latitude
end
在我的信息表中,我得到了一个 DetailID,它应该引用 Detail 表的 id。
现在我做了:
ALTER TABLE informations
ADD CONSTRAINT fk_informations_details
FOREIGN KEY (DetailID)
REFERENCES details(id)
它是否正确?我是否正确设置了 FOREIGN KEY?还是我必须将外键放在另一个表中!?
因为我想在我的信息模型中使用以下:
has_one :detail, :foreign_key => 'DetailID'
在详细模型中:
belongs_to :main