传输数据 | Django Heroku

Posted

技术标签:

【中文标题】传输数据 | Django Heroku【英文标题】:Transfer data | Django Heroku 【发布时间】:2020-11-14 05:00:27 【问题描述】:

对于部署在 Heroku 中的 Django 应用,如何将数据从本地数据库传输到生产数据库。

我刚刚部署了我的项目,但是在迁移之后,模型是空的。

【问题讨论】:

【参考方案1】:

您可以生成本地数据库表的固定装置,然后将它们加载到生产数据库中。

您可以使用 django 命令完成这一切:dumpdata 和 loaddata。

您可以在此处阅读有关如何操作的文档:

https://docs.djangoproject.com/en/3.0/howto/initial-data/#providing-data-with-fixtures

【讨论】:

【参考方案2】:

您可以查看fixtures。有了它,您可以加载和转储数据 从数据库到称为固定装置的文件。 Django 支持 JSON、XML 或 YAML 格式的夹具。

这是json 格式的示例。假设您的 Django 项目中有一个 app 名称 courses。然后在courses 应用程序中创建一个fixtures 文件夹。之后可以在courses/fixtures/中使用以下命令转储数据。

python manage.py dumpdata courses --indent=2 --output=courses/fixtures/
file_name.json

然后您可以使用loaddata 将数据加载回数据库。

python manage.py loaddata file_name.json

为了简单的测试,您还可以使用以下命令将数据转储到terminal

python manage.py dumpdata courses --indent=2

【讨论】:

以上是关于传输数据 | Django Heroku的主要内容,如果未能解决你的问题,请参考以下文章

Heroku 无法连接到我的 django 数据库

数据库更改时,Heroku 部署的 Django 网页不会更新

Heroku 部署与 django 数据库问题

如何在 Heroku 上为 Django 应用程序设置数据库?

Heroku 和 Django 组合中的 Postgresql 更改与共享数据库

在heroku上部署路由器的Django多个数据库