如何将我的 Django SQLite 数据库内容放入 Heroku PostGreSQL 数据库?

Posted

技术标签:

【中文标题】如何将我的 Django SQLite 数据库内容放入 Heroku PostGreSQL 数据库?【英文标题】:How do I put my Django SQLite database contents into a Heroku PostGreSQL database? 【发布时间】:2019-07-16 16:35:14 【问题描述】:

我对托管/部署应用程序完全陌生。看了this video之后,他从头开始新建一个数据库,而不是转换他的Django SQLite数据库。我在部署的站点上有很多我想要的数据,所以我想要一些关于如何使用 Django 和 Heroku 做到这一点的建议。我已经看到这里有一些 SQLite -> PostGreSQL 转换问题,但似乎没有一个显示使用 Django 和 Heroku 的分步指南,只有他们遇到的问题。我只是想确保我做得对。

【问题讨论】:

这里有一些提示: 在开发中使用与生产中相同的数据库服务器。不要将数据库中的数据视为应用程序的一部分——数据通常不应该在多个环境中相同。如果您需要添加生产数据,请在生产数据库中进行。您可以尝试使用dumpdataloaddata,但您可能会遇到问题。另请参阅:docs.djangoproject.com/en/2.1/topics/serialization 但实际上这个问题不是关于从 sqlite 转换为 Postgres,而是关于将数据从开发复制到生产。 【参考方案1】:

一个简单的解决方案是使用来自 Django 的 dumpdataloaddata 管理命令。

例如,在本地你会这样做:

$ python manage.py dumpdata > somefile

那么在您的部署中,您可以这样做:

$ python manage.py loaddata somefile

这不是理想的解决方案,但对于简单的用例绝对可以解决问题。

注意:您必须先将somefile 上传到您的服务器,在本例中为heroku。

【讨论】:

以上是关于如何将我的 Django SQLite 数据库内容放入 Heroku PostGreSQL 数据库?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 sqlite 将我的图像保存到数据库中? [关闭]

South - 将 django 应用程序从 sqlite 迁移到 mysql

如何使用 XCode 菜单而不是以编程方式将我的 sqlite 文件从文档目录复制到应用程序包

将 Django DB 从 SQLite 迁移到 MySQL 的最佳方法是啥?

如何将我的应用程序与数据库服务器连接

django 如何在 SQLite 中删除列