我有一个在本地工作正常的应用程序。有一次,我尝试安装了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服务器中删除此功能的任何提示?我如何只删除特定的迁移并保留我最近的迁移?
谢谢!
答案 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
现在在数据库中有一个空/不必要的表存在问题,但重要的是 - 我可以继续添加迁移,我的最新功能现在正在生产中正常工作! 干杯!