更新生产的targetable_id中的当前帖子

时间:2013-12-30 16:10:56

标签: ruby-on-rails ruby ruby-on-rails-4 polymorphic-associations production-environment

我有两个表,其中一个我改为具有多态关联。我有一个包含大约40个帖子的制作环境,我想更改他们的targetable_idtargetable_types,但我在CL中遇到了麻烦:

Design.first.update_attributes(targetable_id: 1, targetable_type: "Collection")
-->false

在这种情况下,查找设计的前一种方法是使用collection_id,现在已更改为targetable_id。此特定设计的集合ID为1

如何在不删除所有帖子并重新开始的情况下执行此操作?

1 个答案:

答案 0 :(得分:1)

您可以尝试使用update_columns直接更新数据库而不执行任何回调或验证:

Design.first.update_columns(targetable_id: 1, targetable_type: "Collection")

然而,如果是我,我会试着找出它失败的确切原因......如果你尝试:

Design.first.update_attributes!(targetable_id: 1, targetable_type: "Collection")

...控制台应该为您提供有关其失败原因的其他信息,这可能有助于您运行update_attributes