【发布时间】:2011-12-08 17:26:50
【问题描述】:
有没有办法在 Heroku 上使用 Sqlite3 和 Django?
【问题讨论】:
有没有办法在 Heroku 上使用 Sqlite3 和 Django?
【问题讨论】:
雪松堆栈的文件系统不是只读的。
但是,您仍然不能在上面存储任何数据,因为文件系统是短暂的。
每当您的应用程序重新启动时,您写入应用程序文件系统的任何内容都会永远消失。
任何时候你添加一个测功机,这两个测功机都有自己的临时系统;一个测功机存储到其临时文件系统的任何数据对另一个测功机或您以后可能添加的任何其他测功机均不可用。
Sqlite3 将数据写入本地文件系统。您不能将 Sqlite3 与 Heroku 一起使用。
Heroku 提供默认的 PostgreSQL 安装,由 Heroku 管理。你可以使用它。
您还可以使用任何第三方管理的云数据库系统,例如 Amazon RDS 或 Xeround 的 MySQL、MongoHQ 或 MongoLab 的 MongoDB 或 Cloudant 的 CouchDB - 所有这些都可以作为 Heroku 插件使用。
【讨论】:
我不确定这个答案何时过时,但至少从 2013 年 11 月 21 日起,sqlite3 可以在 heroku 上使用:https://devcenter.heroku.com/articles/sqlite3
如果您只是在做一个小型演示应用程序,它会很好用,例如运行 1 dyno 并且不在乎数据库每 24 小时至少被擦除一次。如果没有,heroku 帮助文章建议迁移到 Postgres。
请确保 .db 文件在您的 git 目录中,而不是在 /tmp/ 中,例如,如果您关注 Flask tutorial app, flaskr。
【讨论】: