导入和导出数据库

时间:2012-03-28 17:19:15

标签: database heroku rake

在heroku中使用Taps导入或导出数据库时,是否需要执行heroku run rake db:migrate命令?heroku push和heroku migrate之间有什么区别?有人能用这个清楚我吗?,谢谢。 。

2 个答案:

答案 0 :(得分:1)

关于此的heroku文档非常好https://devcenter.heroku.com/articles/taps

但我可以看到,您是否需要运行迁移并不完全清楚。 你本质上是把你的本地数据库作为一个完整的替代品推出它,它会创建表并填充它们,所以不需要运行针对heroku的迁移。

我正在帮助某人在主要演示之前启动他们的应用程序分钟,我们遇到了在heroku上运行迁移失败的问题(他的代码/依赖关系),所以恢复到db:push允许我们获取db结构和演示中的本地数据。

试一试

答案 1 :(得分:0)

push是一个Git命令。每个Heroku应用程序都是一个Git存储库,从本地存储库推送到它会触发部署。

db:migrate是一项Rake任务。 Rails使用Rake来简化管理Rails应用程序的常见任务。这与Git无关或推向Heroku。当您运行heroku run [something]时,您的Heroku应用程序会生成一次性过程以运行指定的命令。在这种情况下,它是耙子。 db:migrate是运行Rails迁移以更新数据库架构的Rake任务。

在导入或导出数据库之前是否运行迁移取决于您是否需要应用迁移。