如何将我的 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 的分步指南,只有他们遇到的问题。我只是想确保我做得对。
【问题讨论】:
这里有一些提示: 在开发中使用与生产中相同的数据库服务器。不要将数据库中的数据视为应用程序的一部分——数据通常不应该在多个环境中相同。如果您需要添加生产数据,请在生产数据库中进行。您可以尝试使用dumpdata
和loaddata
,但您可能会遇到问题。另请参阅:docs.djangoproject.com/en/2.1/topics/serialization
但实际上这个问题不是关于从 sqlite 转换为 Postgres,而是关于将数据从开发复制到生产。
【参考方案1】:
一个简单的解决方案是使用来自 Django 的 dumpdata
和 loaddata
管理命令。
例如,在本地你会这样做:
$ python manage.py dumpdata > somefile
那么在您的部署中,您可以这样做:
$ python manage.py loaddata somefile
这不是理想的解决方案,但对于简单的用例绝对可以解决问题。
注意:您必须先将somefile
上传到您的服务器,在本例中为heroku。
【讨论】:
以上是关于如何将我的 Django SQLite 数据库内容放入 Heroku PostGreSQL 数据库?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 sqlite 将我的图像保存到数据库中? [关闭]
South - 将 django 应用程序从 sqlite 迁移到 mysql
如何使用 XCode 菜单而不是以编程方式将我的 sqlite 文件从文档目录复制到应用程序包