Юнит-тесты Django требуют удалить базу данных MariaDB: (1007, «Не удается создать базу данных« test_x_django »; база данных существует») - PullRequest
0 голосов
/ 13 октября 2019

У меня есть модульные тесты django, создающие базу данных MariaDB для тестов. Я получаю доступ к базе данных с помощью имени пользователя и пароля в файле настроек и продолжаю получать эту ошибку: Type 'yes' if you would like to try deleting the test database 'test_x_django', or 'no' to cancel: Got an error creating the test database: (1007, "Can't create database 'test_x_django'; database exists")

, которая заставляет меня вводить «да» каждый раз, когда я запускаю модульные тесты, особенно после остановки тестов всредний (не позволяет django удалить базу данных?).

Я испробовал множество решений, в том числе: попытка использовать пользователя root, предоставление django_user всех разрешений для db 'test_x_django', предоставление разрешений django_user для созданного b. В этом случае я не нашел решения для MariaDB онлайн.

Конфигурация в моем файле settings.py:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'x_django',
        'USER': 'django_user',
        'PASSWORD': 'xxxx',
        'HOST': 127.0.0.1,
        'PORT': '3306'
    }
}

Есть ли решение, чтобы django прекратил задавать вопрос? и удалить базу данных автоматически?

1 Ответ

1 голос
/ 13 октября 2019

Просто передайте опцию --keepdb. python manage.py test --keepdb если хочешь сохранить. Если вы хотите уничтожить его, передайте --noinput python manage.py test --noinput.

См. Документы https://docs.djangoproject.com/en/2.2/topics/testing/overview/#the-test-database

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...