在回滚迁移中删除了一个表。迁移本身已更改,因此向下部分删除了表。 我运行了再次创建表的迁移
rake db:migrate:redo VERSION=20120912122332
== CreateQuestionnaires: reverting =====================================
-- drop_table("questionnaires")
rake aborted!
PG::Error: ERROR: table "questionnaires" does not exist
在重做迁移之前,它似乎正在尝试删除表。由于它不存在,其余的迁移无法运行。 这是正确的,如果是,我该如何重新创建表
答案 0 :(得分:1)
该表已被删除。
我建议你使用
rake db:migrate VERSION=20120912122332
由于重做将再次尝试回滚,即删除您在早期阶段已经删除的表。因此,你正在失败。
答案 1 :(得分:0)
您可以编辑迁移并手动执行DROP TABLE,这样可以添加IF EXISTS以忽略DROP TABLE(如果表不存在):
def down
connection.execute('drop table if exists questionnaires')
end