Rails rake db:在Heroku上回滚不起作用。现在我无法添加任何新的迁移

时间:2014-11-10 15:01:58

标签: ruby-on-rails ruby postgresql heroku

我有一个在本地工作正常的应用程序。有一次,我尝试安装了Act As Taggable gem,它生成了一系列迁移文件。在我们投票反对使用该gem之后,我在本地回滚 - 但在部署到heroku后,看起来这些迁移文件中有5个上传到了heroku。

然后我跑了

`heroku run rake db:migrate'

我现在收到此错误

'uninitialized constant AddTaggingsCounterCacheToTags::ActsAsTaggableOn/app/db/migrate/20141107010718_add_taggings_counter_cache_to_tags.acts_as_taggable_on_engine.rb:6:in `up'

现在我不需要" AddTaggingsCounterCacheToTags"但我肯定需要一个应该在此之后运行的迁移。

有关如何从production / heroku服务器中删除此功能的任何提示?我如何只删除特定的迁移并保留我最近的迁移?

谢谢!

1 个答案:

答案 0 :(得分:1)

好的伙计们。我懂了。

问题是我在本地删除文件后,它们仍然存在于git中。该过程是删除导致错误的迁移,然后我可以完成所有迁移。命令如下......

   git rm [filename]
   git commit -a -m "removed the migrations causing the error from git too"
   git push origin master
   git push heroku master
   heroku run rake db:migrate

现在在数据库中有一个空/不必要的表存在问题,但重要的是 - 我可以继续添加迁移,我的最新功能现在正在生产中正常工作! 干杯!