У меня есть очень простое приложение Django (Python 3.6.4), и я написал модульный тест, который проходит локально.База данных SQLite в памяти (по умолчанию) создается для тестов.Когда моя сборка Travis CI выполняет те же тесты, тесты проходят, но команда тестирования не выполняется со следующей ошибкой:
File "/home/travis/virtualenv/python3.6.5/lib/python3.6/site-packages/django/db/backends/sqlite3/base.py", line 301, in execute
return Database.Cursor.execute(self, query)
django.db.utils.OperationalError: near "SCHEMA": syntax error
The command "python manage.py test --settings=myapp.dev_settings" exited with 1.
Одна странная вещь, которую я замечаю, заключается в том, что, когда тесты запускаются на Travis, он говорит, что использует повторносуществующей БД и никогда не разрушает ее после запуска тестов:
$ python manage.py test --settings=myapp.dev_settings
Использование существующей тестовой базы данных для псевдонима 'default' ...
Я не совсем понимаю, потому что этодолжна быть БД в памяти, и когда я запускаю ее локально, каждый раз создается новая база данных:
Creating test database for alias 'default'...
. . .
Destroying test database for alias 'default'...
Мой dev_settings.py
файл имеет базу данных sqlite в файловой системе, но она используется только для запускалокальный сервер разработки:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
Трэвис устанавливает все зависимости и они соответствуют моей локальной среде (я вполне уверен).
Любая помощь будет отличной, я определенно скучаючто-то здесь очевидное !!!