使用MySQL Workbench创建多态关联

时间:2013-10-28 18:04:42

标签: mysql-workbench polymorphic-associations

如何使用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

1 个答案:

答案 0 :(得分:12)

如果您使用“使用现有列放置关系”,带有1:N和滴管的图标,您将能够完成此任务。在示例表中(Rails总是复数形式),请确保您有两列:someone_idsomeone_type。在多态表中,您应该已经有id列。然后,您选择最初提到的工具(1:N with dropper)并单击someone_id,然后单击多态表的id。这将在这两个字段之间创建新的1:N关系,而不会在表中插入任何新字段。对每个连接的多态表重复此过程。然后它将表示Rails使用的多态关系。如果你试图在没有Rails的情况下自己模仿这个,你需要确保正确设置someone_idsomeone_type,以便你可以正确地遵循多态关系。