【发布时间】:2012-12-17 01:31:20
【问题描述】:
Similar question here,但没有一个答案真正回答了这个问题。接受的答案仅显示如何登录控制台并销毁所有记录。在这种情况下,这不是我需要的。
我需要完全废弃一个表(它没有关联)并使用现有迁移重新创建它。
有类似的吗?
heroku pg:destroy_table "Products"
然后我会再次运行我的迁移,它会使用新架构创建表:
heroku run rake db:migrate
【问题讨论】:
-
此表是在上次应用迁移的情况下创建的吗?如果是这样,只需执行
rake db:migrate:redo。 -
我有一个迁移
Create table for user,手动删除了该迁移并创建了一个名为相同但不同字段的新迁移。 -
嗯,您不应该在回滚之前删除迁移...现在迁移版本控制表与代码不匹配。
-
这一定是导致我头发变白的原因。 :) 从现在开始,我将掌握仅使用迁移的窍门,并限制手动调整以防止破坏魔法黑匣子。
-
@PinnyM:
schema_migrations与您的迁移不匹配没有什么问题,您可以(并且应该)不时删除旧迁移以防止它们阻塞。
标签: ruby-on-rails-3 postgresql heroku drop-table