Django:在 Heroku 上部署应用程序并使用 sqlite3 作为数据库

问题描述 投票:0回答:3

我想在Heroku上部署一个使用sqlite3作为数据库的应用程序。但是,Heroku 似乎不支持使用 sqlite3 作为数据库的应用程序。这是真的吗?有没有办法在 Heroku 上部署我的 sqlite3 支持的应用程序?

sqlite heroku
3个回答
34
投票

由于 Heroku 的 dynos 没有跨部署持续存在的文件系统,因此像 SQLite3 这样基于文件的数据库将不适合。不过,对于开发/快速原型来说,这是一个很棒的数据库。

Heroku doPostgres 产品,但是这很适合 - 有免费套餐和每月 9 美元的基本套餐,非常适合业余爱好/小型项目。相对于 SQLite 的最大好处是您可以获得其他方式无法获得的备份(以及所有其他 Postgres 功能)。

这里有一个更新

settings.py
以使用 Postgres 的指南:https://devcenter.heroku.com/articles/getting-started-with-django#django-settings


4
投票

Heroku 有一篇详细的文章解释

"Why is SQLite a bad fit for running on Heroku"
https://devcenter.heroku.com/articles/sqlite3


0
投票

每个 Heroku dyno 都有自己的生命周期很短的文件系统,以及最近部署的代码的新副本。

在 dyno 的生命周期内(非常短),其正在运行的进程可以使用文件系统作为临时暂存器,但写入的文件对于任何其他 dyno 中的进程都是不可见的,并且任何写入的文件都将在启动时被丢弃。 dyno 已停止或重新启动。

有没有办法在 Heroku 上部署我的 sqlite3 支持的应用程序?

从技术上讲,您可以但要记住文件系统的工作原理。作为正常 dyno 管理的一部分,大约每天一次,文件系统会被清除,这意味着您的文件数据库将被删除。

© www.soinside.com 2019 - 2024. All rights reserved.