我一直在搜索和研究,但我似乎无法找到任何直接谈论此事的文章。我有一个艺术画廊rails应用程序,有大约6种不同属性,艺术品等模型。当我对他们的网站进行更改并重新部署时,数据库是否也会被重置?或者是Postgres和rails应用程序在Heroku上分开了吗?
我还读到有人拿走了他们的所有数据并将其放入seed.rb
,然后在重新部署后使用种子数据重新填充数据库?听起来不错吗?任何见解都会非常有帮助。谢谢
答案 0 :(得分:4)
如果您正在使用数据库,那么您的数据在重新部署时不会丢失。执行部署后,只有/tmp
中存储的数据会丢失。
我将假设你正在使用heroku postgres。在这种情况下,请查看此信息,定期创建备份非常有用:https://devcenter.heroku.com/articles/heroku-postgres-backups
在seed.rb
中,您应该只添加设置项目所需的数据,仅此而已。例如创建一个管理员。
答案 1 :(得分:3)
在您故意这样做之前,重新部署到heroku时不会丢失任何数据。 种子数据仅用于填充rails应用程序中的某些默认数据库值。
我假设您在应用程序中上传图片,并且在部署后不会保留。这是真的。 Heroku允许您将图像上传到heroku。但是在部署后它们不会持续存在。
上传的图片会持续特定的时间间隔。
如果是这种情况,请尝试将图像上传到amazon s3存储桶,所有上传的gem都支持。