在 heroku 上进行迁移未反映在 table 内容中。所有 table 都是空的
Make migrations on heroku is not reflected on the table content. All tables are empty
我在 heroku 上托管了我的应用程序,它有两个 1000 行的表,但 运行 代码:
heroku run python manage.py makemigrations
heroku run python manage.py migrate
只迁移表格,不迁移内容。如何迁移表格内容?
谢谢
命令makemigrations
和migrate
是用于处理数据库方案的命令,而不是数据库中的实际数据。
您应该将迁移视为数据库架构的版本控制系统。 makemigrations
负责将您的模型更改打包到单独的迁移文件中 - 类似于提交 - migrate
负责将这些更改应用到您的数据库中。
简而言之,运行 这两个命令都只是创建您的 Django 应用程序所需的表。数据必须手动填充或从您的开发环境中导出并导入到您的 heroku 应用程序中。我建议您在发布更多问题之前阅读更多关于 django 的内容。
您应该使用 RunPython from django.db.migrations.operations
(see examples here) 手动创建自定义迁移文件。您可以对数据进行任何需要的更改,以将数据从当前状态更新为所需状态。
提交后,推送到 Heroku 和 运行 heroku run python manage.py migrate
。这应该在远程数据库上执行迁移。
我在 heroku 上托管了我的应用程序,它有两个 1000 行的表,但 运行 代码:
heroku run python manage.py makemigrations
heroku run python manage.py migrate
只迁移表格,不迁移内容。如何迁移表格内容?
谢谢
命令makemigrations
和migrate
是用于处理数据库方案的命令,而不是数据库中的实际数据。
您应该将迁移视为数据库架构的版本控制系统。 makemigrations
负责将您的模型更改打包到单独的迁移文件中 - 类似于提交 - migrate
负责将这些更改应用到您的数据库中。
简而言之,运行 这两个命令都只是创建您的 Django 应用程序所需的表。数据必须手动填充或从您的开发环境中导出并导入到您的 heroku 应用程序中。我建议您在发布更多问题之前阅读更多关于 django 的内容。
您应该使用 RunPython from django.db.migrations.operations
(see examples here) 手动创建自定义迁移文件。您可以对数据进行任何需要的更改,以将数据从当前状态更新为所需状态。
提交后,推送到 Heroku 和 运行 heroku run python manage.py migrate
。这应该在远程数据库上执行迁移。