继我之前的帖子(carrierwave image not loading into source code)之后,我在表格组合中添加了一个新列(feature_image)。
我想将此推送到我的Heroku应用程序,但我已经在网站上有一些我不想丢失的投资组合条目。
无论如何,我可以推送我的数据库更改而不会丢失已经存在的内容吗?
谢谢!
答案 0 :(得分:1)
推送它不会影响你的记录(除非你有一些特殊的代码在每次推送时重置数据库 - 从未听说过这种情况,但谁知道),只有新的迁移将会执行以添加新列,这样你最终会有很多没有图像的portofolios。
rails app将所有migrations
个号码保存到schema_migration
的{{1}}表中,因此下次您运行db
时,它只会迁移不在migration
的号码schema_migration
。
在我的情况下,如果我只运行迁移20140109214830_add_is_new_to_messages
将会迁移,因为它的号码不是schema_migration
,它会在本地计算机上以这种方式运行,并且在推送时也是如此。
迁移后,迁移号码将保存到schema_migration
表(第44行):
git push heroku master && heroku run rake db:migrate && heroku restart