我在Django南迁移时遇到问题。这可能与我们如何建立我们的项目有关,但它之前工作正常,而且在当地工作正常。heroku django south似乎并未使用迁移
我昨晚推新代码,其中包含在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
中。
UPDATE
的问题是,这个特殊的迁移目录失踪__init__.py.
像convert_to_south
运行命令通过Heroku的不影响这是本地文件的更改不沾。再次用该文件推动回购确认迁移。然后我只需假冒第一次移民,我就很好。
我可能找到了解决方案。看起来被推送到heroku的my_app/migrations目录缺少__init__.py文件。运行convert_to_south将创建该文件,但是,使用heroku命令行无法使用这些文件。我相信这个解决方案仍然需要测试,就是使用__init__并推动这一改变。 –
请您将您的更新转到答案并接受答案,以便将其不再列为未答复的问题? –