【问题标题】:Django: sudden DB reset after Heroku sleepDjango:Heroku 睡眠后数据库突然重置
【发布时间】:2015-03-16 20:20:51
【问题描述】:

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

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

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

【问题讨论】:

标签: python django sqlite heroku


【解决方案1】:

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

为避免这种情况,只需将您的应用程序配置为使用 Heroku-Postgresql。

【讨论】:

  • 谢谢你,塞拉费姆!防止 Heroku 入睡也应该有帮助,对吧?
  • 嗯,可能是的。但是无论如何,测功机每天都会重新启动一次(devcenter.heroku.com/articles/dynos#automatic-dyno-restarts),所以你肯定需要使用普通的数据库。临时文件系统只能用作临时暂存器,绝对不能用于存储数据库:-)
猜你喜欢
  • 2014-01-30
  • 1970-01-01
  • 2013-01-09
  • 1970-01-01
  • 2017-11-16
  • 1970-01-01
  • 1970-01-01
  • 2011-04-29
  • 2020-07-11
相关资源
最近更新 更多