Благодаря объединения нескольких ветвей функций в моем проекте, у меня есть следующие: миграцииВосстановление дубликата миграции в Джанго Южной
0001_initial.py
0002_auto__add_field_userprofile_telephone__add_field_userprofile_timezone.py
0003_auto.py
0004_auto__del_field_organisation_admin.py
0005_auto__add_field_organisation_permitted_domains.py
0005_auto__add_field_userprofile_currency.py
Обратите внимание, что у меня есть два дублирующих 0005 миграции. Они отлично работали, и на моей производственной системе было отлично реализовано.
$ python manage.py migrate accounts --list [17:11:42]
accounts
(*) 0001_initial
(*) 0002_auto__add_field_userprofile_telephone__add_field_userprofile_timezone
(*) 0003_auto
(*) 0004_auto__del_field_organisation_admin
(*) 0005_auto__add_field_organisation_permitted_domains
(*) 0005_auto__add_field_userprofile_currency
Моя таблица имеет правильные столбцы:
$ psql
db_my_project=# \d+ accounts_organisation
db_my_project=# \d+ accounts_userprofile
... shows currency and permitted_domain, suggesting the migrations worked correctly
Однако, если я пытаюсь создать новую миграцию, South думает, что я не добавил столбец»permitted_domains' в моей модели:
$ python manage.py schemamigration accounts --auto [17:16:15]
+ Added field permitted_domains on accounts.Organisation
Created 0006_auto__add_field_organisation_permitted_domains.py. You can now apply this migration with: ./manage.py migrate accounts
Как исправить это?
Для других ссылок на это: не забудьте удалить свернутую миграцию (т.'0005_auto__add_field_organisation_permitted_domains' в этом случае) из таблицы' south_migrationhistory', иначе вы получите эту ошибку при запуске 'migrate': 'Я не доверяю себе; либо исправьте это сами, переиграв таблицу south_migrationhistory, либо передайте -delete-ghost-migration на Юг, чтобы удалить все эти записи (это может быть не очень хорошо). –
3cheesewheel