我相当基本的应用程序允许用户上传头像。
应用程序部署到 Heroku 上
$ git add .
$ git commit -m "description"
$ git checkout master
$ git merge my-cool-new-feature
$ git push heroku
问题是,每次我将更改推送到 Heroku 时,上传到 Heroku 的所有文件都会丢失。我想,问题是文件夹/文件受版本控制,所以我将文件夹添加到 .gitignore
# Ignore User generated files
/public/system/*
并从存储库中删除文件。
$ git rm -rf --cached public/system
但问题依然存在。你能给我指出正确的方向吗?
最佳答案
这是因为 Heroku 限制了您在其服务器上存储数据的方式。回到 bamboo
堆栈时代,storing any data was simply impossible无需使用外部服务。由于他们引入了 Cedar
堆栈,things have changed a little bit , 但仍然无法存储持久数据。
正如您所发现的,每次您将新更改推送到 Heroku 应用程序时(或者每次应用程序关闭并在非事件 x 分钟后重新启动时),您的应用程序都会重新创建并且所有存储的数据都会丢失。
最好的办法是根本不使用/public 目录,并开始使用外部服务,如 Amazon S3 , Rackspace Cloud Files或 Spideroak .
关于git - git push heroku 后 - Heroku 上的上传文件丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11246736/