Django 迁移不更新 Heroku PostgreSQL 数据库
Django Migrations not updating Heroku PostgreSQL database
一段时间以来,我一直被困在一个问题上,我有一个在本地创建的模型 (class User(AbstractUser)
),运行“python manage.py makemigrations
”和“python manage.py migrate
",当 运行 在本地时,它可以正常工作并与 django 服务器交互。
然而,当我将它推送到 heroku 时,我收到了对某些 api 请求的错误响应,基本上是“relation "app_user" does not exist
”。我认为这是因为当应用程序部署到 heroku 时,postgreSQL 数据库以某种方式没有收到迁移。登录数据库后,我注意到它还有其他一些 table,包括“auth_user”(我假设这是默认的 django table),但没有“[=32=” ]”。我已经完成了“heroku run bash
”和“python manage.py migrate
”,试图将更改迁移到 postgreSQL 数据库,但这没有任何效果。
我不确定这是否有用,但我使用的 postgreSQL 服务器是标准的 Heroku Postgres Hobby Dev 附加组件。
我的问题是:
- heroku 上的 运行ning "
python manage.py migrate
" 应该更新 postgreSQL 数据库吗?如果是这样,它是如何工作的?
- 鉴于迁移都在 heroku 上,我如何使用迁移手动更新 postgreSQL?
已通过删除旧的 heroku 数据库并创建一个新数据库来修复。不确定究竟是什么导致了上述问题,但我觉得可能是因为我们在过去的某个时候删除了回购协议中的所有迁移(从头开始),这意味着当前的数据库状态不适用于回购协议中的迁移等等无法应用。完成此操作后,运行 在远程服务器上的迁移工作完美。
一段时间以来,我一直被困在一个问题上,我有一个在本地创建的模型 (class User(AbstractUser)
),运行“python manage.py makemigrations
”和“python manage.py migrate
",当 运行 在本地时,它可以正常工作并与 django 服务器交互。
然而,当我将它推送到 heroku 时,我收到了对某些 api 请求的错误响应,基本上是“relation "app_user" does not exist
”。我认为这是因为当应用程序部署到 heroku 时,postgreSQL 数据库以某种方式没有收到迁移。登录数据库后,我注意到它还有其他一些 table,包括“auth_user”(我假设这是默认的 django table),但没有“[=32=” ]”。我已经完成了“heroku run bash
”和“python manage.py migrate
”,试图将更改迁移到 postgreSQL 数据库,但这没有任何效果。
我不确定这是否有用,但我使用的 postgreSQL 服务器是标准的 Heroku Postgres Hobby Dev 附加组件。
我的问题是:
- heroku 上的 运行ning "
python manage.py migrate
" 应该更新 postgreSQL 数据库吗?如果是这样,它是如何工作的? - 鉴于迁移都在 heroku 上,我如何使用迁移手动更新 postgreSQL?
已通过删除旧的 heroku 数据库并创建一个新数据库来修复。不确定究竟是什么导致了上述问题,但我觉得可能是因为我们在过去的某个时候删除了回购协议中的所有迁移(从头开始),这意味着当前的数据库状态不适用于回购协议中的迁移等等无法应用。完成此操作后,运行 在远程服务器上的迁移工作完美。