Heroku中覆盖了“数据库”文件

时间:2019-01-12 20:29:45

标签: node.js git heroku

我试图避免在我的简单RESTful应用程序中使用数据库。 我创建了一个“ posts.txt”文件,其中包含所有帖子,应用程序将从该文件读取并创建posts数组(JSON.parse)。 问题是,当我“ git push heroku master”时,heroku中的“ posts.txt”将被覆盖,因此我丢失了所有由访客创建的帖子。 我试图.gitignor这个文件,但似乎我只是把它弄破了(或者我不理解“取消跟踪”文件的想法)。 为了防止覆盖(我只是不想每次都将新的“ posts.txt”推送到heroku中),该怎么办?

1 个答案:

答案 0 :(得分:0)

由于您的Heroku应用程序可能会随着时间的推移在多个服务器上运行,因此无法确保您的posts.txt文件将保持一致的超时状态。同样,当您进行更改时,并且您已经注意到,它很容易被覆盖。

Heroku可以终止您的应用程序,并根据需要在另一台服务器上启动它。几乎像无服务器类型设置。

这意味着没有某种类型的数据库层就无法确保Heroku上稳定的数据持久性。


我忘记提及的评论中提到的要点。循环后该文件也将被删除,因为文件系统是临时的。您可以在Heroku的网站here上找到有关丢失/删除的文件上传的更多信息。


与此有关的另一件事是,即使您正在使用某种类型的VPS或类似的东西,您仍然会遇到在开发过程中如何将帖子同步到本地计算机并确保同步的问题。数据库层无疑是到达这里的方法。