如何修复损坏的rails db迁移

时间:2010-09-21 20:16:26

标签: ruby-on-rails ruby-on-rails-3 rails-migrations

由于我自己的愚蠢直接导致我设法以某种方式使我的数据库处于破碎状态,并且无法弄清楚如何解决它。

问题始于我的一次数据库迁移中的拼写错误。我正在添加一个列并错误拼写了我想要添加列的表的名称。我跑了'rake db:migrate'而且失败了。所以我去修复了错字并再次运行'rake db:migrate'但没有任何反应。所以想到也许rails认为它已经完成了迁移,我运行了'rake db:rollback',这似乎最终解决了一些事情,因为它放弃了我试图添加列的表。

所有这一切的最终结果是我的db版本现在与rails认为的版本不同步。我尝试过使用'rake db:migrate:up'和'rake db:migrate:down'(带版本号),但这没有用。即使我尝试明确地运行创建问题表的迁移,也没有任何反应(如果我运行'down'版本,它告诉我它不能删除表')。我知道我可以直接访问数据库并修补问题表,但我认为找出这个问题的“正确”解决方案会很好。

非常感谢

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:-3)

rake db:reset

由于某种原因,发布答案最少有30个字符: - )