在heroku上进行迁移不会反映在表内容上。所有表都是空的

时间:2018-06-25 08:39:16

标签: python django heroku hosting

我已经将我的应用托管在heroku上,它有两个包含1000行的表,但是运行了代码:

heroku run python manage.py makemigrations
heroku run python manage.py migrate

仅迁移表,而不迁移内容。如何迁移表格内容?

谢谢

2 个答案:

答案 0 :(得分:0)

命令makemigrationsmigrate是用于处理数据库方案的命令,而不是数据库中的实际数据。

您应该将迁移视为数据库架构的版本控制系统。 makemigrations负责将模型更改打包到单个迁移文件中(类似于提交),migrate负责将这些更改应用于数据库。

简而言之,运行这两个命令只会创建django应用程序所需的表。数据必须手动填充或从开发环境中导出并导入到heroku应用中。我建议您在发布更多问题之前先阅读有关django的更多信息。

答案 1 :(得分:0)

您应该使用django.db.migrations.operations中的RunPython手动创建自定义迁移文件(请参见examples here)。您可以对数据进行任何必要的更改,以将数据从当前状态更新为必填。
提交后,推送至Heroku并运行heroku run python manage.py migrate。这应该在远程数据库上执行迁移。