如何为部署在Heroku中的Django应用程序将数据从本地数据库传输到生产数据库。
我刚刚部署了我的项目,但在迁移之后,模型是空的。
您可以生成本地数据库表的fixture,然后将它们加载到生产数据库中。
您可以使用django命令来完成这一切:dumppdatea和loaddata。
你可以在这里阅读关于如何做到这一点的文档:
https://docs.djangoproject.com/en/3.0/howto/initial-data/#providing-带有固定装置的数据
您可以查看固定装置。使用它,您可以加载和转储数据从数据库转换为称为fixture的文件。Django支持JSON、XML或YAML格式的fixture。
以下是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