sun*_*unw 10 python testing django
我有一个在本地运行的 Django 3.0.8 项目,连接到本地 PostgreSQL 数据库 ( postgres:///myapp)。当我运行时python manage.py test,我的单元测试运行良好;一个名为test_myapp自动的测试数据库被创建,并被正确访问。
但是,当我运行时python manage.py test --parallel 8,测试失败。我看到正确生成了 8 个克隆数据库(test_myapp_1, test_myapp_2,..., test_myapp_8),但我收到如下错误:
psycopg2.OperationalError: FATAL: database "myapp_3" does not exist
Run Code Online (Sandbox Code Playgroud)
似乎对于并行测试,数据库访问不正确(尝试访问数据库myapp_N而不是test_myapp_N)。我试图弄清楚我的本地配置是否有问题,但这就是我在基本配置中的全部内容:
DATABASES = {
'default': env.db('DATABASE_URL', default='postgres:///myapp'),
}
DATABASES['default']['ATOMIC_REQUESTS'] = True
Run Code Online (Sandbox Code Playgroud)
为什么我的并行测试进程不能正确访问它们各自克隆的测试数据库?
小智 -1
要在 Django 项目上使用 PostgreSQL 数据库,您可以以相同的方式配置数据库。
DATABASES = {
'default': {
"ENGINE": "django.db.backends.postgresql_psycopg2",
"NAME": 'Table_name',
"USER": 'user_name',
"PASSWORD": 'password',
"HOST": 'localhost', # or 127.0.0.1
"PORT": '5432', #5432 is the default PostgreSQL port if you change it must change this port
}
}
Run Code Online (Sandbox Code Playgroud)
要在 Django 项目上设置多个数据库,您可以查看此页面并使用它。
| 归档时间: |
|
| 查看次数: |
311 次 |
| 最近记录: |