重新部署到Heroku会丢失Rails数据库数据吗?

时间:2015-07-22 13:31:26

标签: ruby-on-rails ruby postgresql heroku deployment

我一直在搜索和研究,但我似乎无法找到任何直接谈论此事的文章。我有一个艺术画廊rails应用程序,有大约6种不同属性,艺术品等模型。当我对他们的网站进行更改并重新部署时,数据库是否也会被重置?或者是Postgres和rails应用程序在Heroku上分开了吗?

我还读到有人拿走了他们的所有数据并将其放入seed.rb,然后在重新部署后使用种子数据重新填充数据库?听起来不错吗?任何见解都会非常有帮助。谢谢

2 个答案:

答案 0 :(得分:4)

如果您正在使用数据库,那么您的数据在重新部署时不会丢失。执行部署后,只有/tmp中存储的数据会丢失。

我将假设你正在使用heroku postgres。在这种情况下,请查看此信息,定期创建备份非常有用:https://devcenter.heroku.com/articles/heroku-postgres-backups

seed.rb中,您应该只添加设置项目所需的数据,仅此而已。例如创建一个管理员。

答案 1 :(得分:3)

在您故意这样做之前,重新部署到heroku时不会丢失任何数据。 种子数据仅用于填充rails应用程序中的某些默认数据库值。

我假设您在应用程序中上传图片,并且在部署后不会保留。这是真的。 Heroku允许您将图像上传到heroku。但是在部署后它们不会持续存在。

上传的图片会持续特定的时间间隔。

如果是这种情况,请尝试将图像上传到amazon s3存储桶,所有上传的gem都支持。