如何使用MySQL Workbench工具创建多态关系?我希望能够处理Rails给我的东西:
class Example < ActiveRecord::Base
belongs_to :someone, polymorphic: true
end
class PolyOne < ActiveRecord::Base
has_many :examples, as: :someone
end
class PolyTwo < ActiveRecord::Base
has_many :examples, as: :someone
end
答案 0 :(得分:12)
如果您使用“使用现有列放置关系”,带有1:N和滴管的图标,您将能够完成此任务。在示例表中(Rails总是复数形式),请确保您有两列:someone_id
和someone_type
。在多态表中,您应该已经有id
列。然后,您选择最初提到的工具(1:N with dropper)并单击someone_id
,然后单击多态表的id
。这将在这两个字段之间创建新的1:N关系,而不会在表中插入任何新字段。对每个连接的多态表重复此过程。然后它将表示Rails使用的多态关系。如果你试图在没有Rails的情况下自己模仿这个,你需要确保正确设置someone_id
和someone_type
,以便你可以正确地遵循多态关系。