Я пытаюсь запустить тесты Django через python manage.py test --settings="app.test-settings"
Heroku не разрешит мне переименовывать DB и, следовательно, не может запускать модульные тесты Django?
Настройки файла Ниже
#Testing On Heroku DB
from changeaddress.settings import *
import dj_database_url
TEST_DATABASES = {
'default': dj_database_url.parse(os.getenv('TEST_DATABASE_URL'))
}
TEST_DATABASES['default']['ENGINE'] = 'django.contrib.gis.db.backends.postgis'
REDIS_CACHE_TYPE = None
POSTGIS_VERSION = (2, 0, 3)
TEST_RUNNER = 'changeaddress.test_suite_runner.HerokuTestSuiteRunner'
При запуске теста я получаю вышеуказанную ошибку.
File "C:\Python27\lib\site-packages\django\db\utils.py", line 99, in
__exit__ six.reraise(dj_exc_type, dj_exc_value, traceback)
File "C:\Python27\lib\site-packages\django\db\backends\util.py", line 51,
in execute return self.cursor.execute(sql)
django.db.utils.ProgrammingError: type "geography" does not exist LINE 17: "area" geography(MULTIPOLYGON,4326),
Я нашел это Testing a GeoDjango app with a PostGIS database, но я не в состоянии делать какие-либо изменения в «template_postgis», как я не имею права.
Я не могу использовать sqlite
, потому что у меня есть модули, которые используют опции POSTGIS для db. Что из-за ошибок и убить тесты ...
Есть ли способ сделать это, не взорвав исходный код Django? Как мне нужно, чтобы это можно было запустить на CircleCI.
UPDATE
Существует не хороший способ, чтобы сделать эту работу с Heroku. На данный момент я поставил все, чтобы тестироваться только на Circle CI.
Как всегда спасибо!