【问题标题】:Pulling data from heroku for django website从heroku为django网站提取数据
【发布时间】:2018-04-22 05:16:58
【问题描述】:

我在 django 上创建了一个网站并将其托管在 heroku 上。它使用默认的 sqlite3 数据库。

在网站上添加一些条目时,heroku db 会更新。我无法在我的本地数据库中提取该条目。

当我将任何更改推送到 heroku 时,所有从网站添加的条目都会被删除。

如何从 heroku 中提取这些条目?

【问题讨论】:

  • 你不能在 Heroku 上使用 sqlite。通过 Heroku 插件之一使用适当的数据库。

标签: python django git heroku


【解决方案1】:

当您将更改推送到 Heroku 时,您也在推送您的 SQLite3 数据库文件,该文件会覆盖在 Heroku 服务器上对其所做的更改。

如果您希望数据库保持不变,请不要在推送到 Heroku 时将其添加到您的提交中。

正如 Daniel 所说,您应该切换到免费的 Heroku PostgreSQL 数据库,而不是使用 SQLite3。这样,您可以通过备份/恢复将 Heroku 数据库下载到本地系统,并且您推送到 Heroku 的任何更改都不会覆盖数据库中的现有数据。

您可以在此处找到有关如何在您的 django 应用程序中实现 Heroku PostgreSQL 的说明:https://devcenter.heroku.com/articles/heroku-postgresql#connecting-with-django

【讨论】:

  • 不幸的是,即使从 git 中排除 sqlite db 也不允许它“保持不变”;它存储在磁盘上,并且 dynos 有自己的临时文件系统,这些文件系统不会持久存在。所以推送新的提交会彻底清除数据库。
猜你喜欢
  • 2018-04-03
  • 2023-04-05
  • 1970-01-01
  • 2016-02-27
  • 2015-08-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多