Ошибка теста Django: django.db.utils.ProgrammingError: отношение "auth_group" не существует

У меня есть приложение django, которое в последнее время не тестировалось. Мне нужно выполнить пользовательскую команду. Я написал тест для нее и запустил все миграции. Я смог успешно выполнить все миграции. Когда я попытался запустить тест, возникла следующая ошибка

Я попытался запустить migrate auth отдельно. Не было никаких миграций для применения

Operations to perform:
  Apply all migrations: auth
Running migrations:
  No migrations to apply.

Следующее django-приложение помогает запускать тесты django, не затрагивая конфликты миграции.

Install 'django-test-without-migrations'

pip install django-test-without-migrations

добавьте его в INSTALLED_APPS

INSTALLED_APPS = (
    # ...
    'test_without_migrations',
)

Тогда бегите,

python manage.py test --nomigrations

--nomigrations гарантирует, что ваши тесты не будут провалены из-за проблем с миграцией.

Ссылка: https://pypi.org/project/django-test-without-migrations/

python manage.py makemigrations auth

then

python manage.py makemigrations

Как я уже сказал в своем вопросе, я смог успешно запустить миграции и смог запустить свое приложение django. Но когда я попытался запустить тесты, возникла вышеупомянутая ошибка.

Я решил проблему, зеркалируя свою базу данных путем редактирования settings.py или (local_settings.py). Теперь я могу запустить тест без каких-либо проблем с миграцией.

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'USER': 'mydatabaseuser',
        'NAME': 'mydatabase',
        'TEST': {
            'MIRROR': 'default',
        },
    },
}
Вернуться на верх