我正在用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'}
},
[...]
您认为该问题与数据库路由器或其名称有关吗?