В Django 1.8, используя Postgres, как изменить порядок миграции? У меня есть следующие ....Django 1.8 и как изменить порядок миграции для приложений
AUTH_USER_MODEL = 'users.User'
INSTALLED_APPS = [
"test.apps.users",
'django_nose',
'django_coverage',
'oauth2_provider',
'rest_framework',
'django_extensions',
]
и независимо от того, в каком порядке мои приложения в oauth2_provider
дает мне ошибку ...
django.db.utils.ProgrammingError: relation "users_user" does not exist
Operations to perform:
Synchronize unmigrated apps: oauth2_provider, staticfiles, messages, django_extensions, django_coverage, django_nose, rest_framework, common
Apply all migrations: users, sessions, admin, auth, contenttypes
Synchronizing apps without migrations:
Creating tables...
Creating table oauth2_provider_application
Creating table oauth2_provider_grant
Creating table oauth2_provider_accesstoken
Creating table oauth2_provider_refreshtoken
Running deferred SQL...
, потому что его применения своих собственных миграций перед Создана таблица apps.users.
Если я удалил oauth2_provider
, примените миграцию, а затем добавьте обратно в oauth2_provider
, затем примените миграцию снова, он работает! Тем не менее, должен быть способ принудительно создать миграцию test.apps.users
до oauth2_provider
или что-нибудь еще.
То, что я заметил, что внутри oauth2_provider
они имеют:
migrations.swappable_dependency(settings.AUTH_USER_MODEL) https://github.com/evonove/django-oauth-toolkit/blob/master/oauth2_provider/migrations/0001_initial.py#L14
Однако, Django просто игнорирует это и попробовать, чтобы применить миграции для oauth2_provider
, прежде чем моя модель пользователя дает ошибку выше ошибки, когда я когда-либо запускать тесты и необходимо создать новую тестовую базу данных.
Спасибо за ваш ответ. Я использую версию pip, которая равна 0.8.0, однако версия GitBub также равна 0.8.0 https://github.com/evonove/django-oauth-toolkit/blob/master/oauth2_provider/__init__.py, вы уверены? – Prometheus
Вы правы !!!! Я пробовал версию git repo, и она работала, даже если номера версий одинаковы! Вы знаете, почему это так? – Prometheus
Если вы посмотрите на [коммиты на GitHub] (https://github.com/evonove/django-oauth-toolkit/commits/master), вы заметите, что версия на 27 марта была удалена до 0,8, но что там с тех пор произошло немало изменений. –