【发布时间】:2013-04-27 22:22:51
【问题描述】:
我已经在两个模型之间建立了一个现有的 has_many 关系——称它们为“汽车”和“乘客”——在我的生产环境中,有几千个“乘客”属于几百个“卡片”。我正在添加另一个模型,称为“火车”,并且我想将汽车和乘客之间现有的 has_many 关系更改为将每位乘客与汽车或火车相关联的多态关系。
我的迁移应该是什么样的?我想在迁移时保留数据库中的现有关系,所以我宁愿做一些表重命名,而不是删除一列以将其替换为另一列。此外,我希望能够在不打开服务器控制台并手动编辑所有记录的情况下做到这一点,因此当我将更改推送到生产环境时,我可以一举迁移整个数据库。有什么建议吗?
TL;DR:如何将现有的 has_many 关系更改为具有新模型的多态关系?
【问题讨论】:
-
我现在必须做同样的事情,但对于请求模型。我会发布我的结果
-
我最终采用了以下解决方案。无摩擦
标签: ruby-on-rails ruby ruby-on-rails-3 polymorphic-associations