gpt4 book ai didi

python - heroku django south 似乎没有使用迁移

转载 作者:太空狗 更新时间:2023-10-30 03:03:34 28 4
gpt4 key购买 nike

我在 Django 南迁移方面遇到了问题。这可能与我们如何布局项目有关,但它以前工作正常,并且在本地运行良好。

我昨晚推送了新代码,其中包含 my_app 应用程序中的迁移。所以在我的本地环境中...

$ ./manage.py migrate --list
socialaccount
(*) 0001_initial
(*) 0002_genericmodels
(*) 0003_auto__add_unique_socialaccount_uid_provider
(*) 0004_add_sites
(*) 0005_set_sites
(*) 0006_auto__del_field_socialapp_site
(*) 0007_auto__add_field_socialapp_client_id
(*) 0008_client_id
(*) 0009_auto__add_field_socialtoken_expires_at
(*) 0010_auto__chg_field_socialtoken_token
(*) 0011_auto__chg_field_socialtoken_token
payments
(*) 0001_initial
users
(*) 0001_initial
my_app
(*) 0001_initial
(*) 0002_auto__add_organizerapplication

在 heroku 中,它不会将 my_app 识别为具有迁移功能的应用程序。当我尝试迁移该应用时......

$ heroku run my_app/manage.py migrate my_app --app=my_app

Running my_app/manage.py migrate my_app attached to terminal... up, run.5016
The app 'my_app' does not appear to use migrations.
./manage.py migrate [appname] [migrationname|zero] [--all] [--list] [--skip] [--merge] [--no-initial-data] [--fake] [--db-dry-run] [--database=dbalias]

如果我列出迁移,您会注意到未列出 my_app...

$ heroku run my_app/manage.py migrate --list --app=my_app

Running my_app/manage.py migrate --list attached to terminal... up, run.8264

socialaccount
(*) 0001_initial
(*) 0002_genericmodels
(*) 0003_auto__add_unique_socialaccount_uid_provider
(*) 0004_add_sites
(*) 0005_set_sites
(*) 0006_auto__del_field_socialapp_site
(*) 0007_auto__add_field_socialapp_client_id
(*) 0008_client_id
(*) 0009_auto__add_field_socialtoken_expires_at
(*) 0010_auto__chg_field_socialtoken_token
(*) 0011_auto__chg_field_socialtoken_token
payments
(*) 0001_initial
users
(*) 0001_initial

我不确定它是否相关,但是当我检查时 my_app 列在我的 INSTALLED_APPS 中。

更新

问题是这个特定的迁移目录缺少 __init__.py. 通过 Heroku 运行 convert_to_south 这样的命令不会影响这个,因为本地文件更改不会保留.使用该文件再次推送 repo 可以识别迁移。然后我只需要伪造第一次迁移就可以了。

最佳答案

确保您要迁移的应用程序的迁移文件夹中有一个 init.py 文件。 South 将在本地运行,但不会在 heroku 上运行。只需从您的一个应用程序复制一个 init.py 文件,并将其放入您收到错误的应用程序的迁移文件夹中。将该更改推送到生产环境,然后迁移。

关于python - heroku django south 似乎没有使用迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18498303/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com