Я пишу юнит-тест в Django, но у меня проблема:
django.db.utils.ProgrammingError: relation "ad.tc_format" does not exist
LINE 1: ...ze", "ad"."tc_format"."y_size" FROM "ad"...
Важный вопрос, который заключается в том, что у нас нет таких инструментов, как migrate и makemigrations , все это создает вручную и собственный класс маршрутизаторов базы данных, кроме того, в базе данных все существует.
Я думаю также о базах данных, которые я неправильно установил по умолчанию, потому что мне нужно две базы данных для тестирования:
DATABASES = {
'default': { # Here are users, permissions...
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'panels',
'USER': 'admin',
'PASSWORD': DEFAULT_PASSWORD,
'HOST': HOST,
'PORT': PORT,
},
'ad': { # If I change name to default, then I got error - the ad name is required and here is other datas which I need
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'stats',
'USER': 'postgres',
'PASSWORD': AD_PASSWORD,
'HOST': HOST,
'PORT': PORT,
'TEST': {
'CREATE_DB': False,
'DEPENDENCIES': ['default']
}
},
Я пробовал дублировать базу данных или создал зеркало:
DATABASES = {
'panels': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'panels',
'USER': 'admin',
'PASSWORD': DEFAULT_PASSWORD,
'HOST': HOST,
'PORT': PORT,
},
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'stats',
'USER': 'postgres',
'PASSWORD': AD_PASSWORD,
'HOST': HOST,
'PORT': PORT,
},
'adnetsys': { # Duplicated
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'stats',
'USER': 'postgres',
'PASSWORD': AD_PASSWORD,
'HOST': HOST,
'PORT': PORT,
},
Или
[...]
'adnetsys': {
'ENGINE': 'django.db.backends.sqlite3',
'TEST': { 'MIRROR': 'default'}
},
[...]
Как вы думаете, эта проблема касается маршрутизаторов баз данных или их имен?