Django:Heroku 睡眠后数据库突然重置

Django: sudden DB reset after Heroku sleep

我有一个非常简单的 Django 应用程序(从 Django 教程中提取应用程序)运行 在 SQLite 数据库上并托管在 Heroku 上。

它工作正常,但出于某种原因,每次 Heroku 从空闲状态唤醒时,问题都会重置为初始状态(我有一个 dyno)。我可以删除问题,添加新问题,但重置后会有一组初始问题。

如何防止重置,原因是什么? 我将不胜感激任何帮助。

Heroku dynos 有一个临时文件系统 (https://devcenter.heroku.com/articles/dynos#ephemeral-filesystem)。由于您使用的 SQLite 实际上是文件系统上的一个文件,因此一切都会 运行 顺利进行,直到动态 运行 您的应用程序需要重新启动 - 所以它的文件系统将被重置,您将失去一切!

要避免它,只需将您的应用程序配置为使用 Heroku-Postgresql。