0

由于我自己的愚蠢,我设法以某种方式使我的数据库处于损坏状态,并且无法弄清楚如何修复它。

问题始于我的一个数据库迁移中的错字。我正在添加一列并且拼错了我想要添加该列的表的名称。我运行了“rake db:migrate”,但它失败了。所以我去修正了错字并再次运行“rake db:migrate”,但什么也没发生。所以我想也许 rails 认为它​​已经完成了迁移,我运行了“rake db:rollback”,这似乎最终使事情变得复杂,因为它删除了我试图添加列的表。

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

非常感谢

4

2 回答 2

0

我会在这里使用解决方案: Rails: Alter migrations during early development stages

于 2010-09-21T20:19:33.467 回答
-3

耙分贝:重置

并且出于某种原因,发布答案至少需要 30 个字符 :-)

于 2011-06-18T23:07:51.497 回答