Django django.db.utils.ProgrammingError:关系“ ad.tcontainer_format”不存在

时间:2019-01-15 13:28:37

标签: django database unit-testing

我正在用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'}
 },
[...]

您认为该问题与数据库路由器或其名称有关吗?

0 个答案:

没有答案