3

How do I create a polymorphic relation using the MySQL Workbench tool? I want to be able to handle something like what Rails gives me with:

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
4

1 回答 1

13

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

于 2013-10-28T18:04:41.597 回答