社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Django

测试中的Django外部MySQL DB连接投诉“未知数据库”

James Lin • 5 年前 • 1183 次点击  

在我的django项目中,我有几个数据库连接:

如。

DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.postgresql_psycopg2",
        "NAME": "awesome",
        ...
    },
    "other_1": {
        "ENGINE": "django.db.backends.postgresql_psycopg2",
        "NAME": "other_1",
        "TEST": {"MIRROR": default}
        ...
    },
    "other_2": {
        "ENGINE": "django.db.backends.mysql",
        "NAME": "other_2",
        "TEST": {"MIRROR": default}
    }
}

注:

  1. 这个 default other_1 两者都是 postgres 后端和 other_2 mysql 后端。
  2. 我补充说 "TEST": {"MIRROR": default} 以避免在测试期间创建这些数据库。看到这个 link .

问题:

当我运行测试时,它会抱怨 Unknown database 'test_awesome' ,堆栈跟踪显示它来自mysql后端:

Traceback (most recent call last):
  File "/Users/jlin/virtualenvs/awesome-1SH6mAZ2/lib/python3.6/site-packages/django/test/testcases.py", line 1005, in setUpClass
    if not connections_support_transactions():
  File "/Users/jlin/virtualenvs/awesome-1SH6mAZ2/lib/python3.6/site-packages/django/test/testcases.py", line 970, in connections_support_transactions
...
File "/Users/jlin/virtualenvs/awesome-1SH6mAZ2/lib/python3.6/site-packages/MySQLdb/__init__.py", line 85, in Connect
    return Connection(*args, **kwargs)
  File "/Users/jlin/virtualenvs/awesome-1SH6mAZ2/lib/python3.6/site-packages/MySQLdb/connections.py", line 204, in __init__
    super(Connection, self).__init__(*args, **kwargs2)
django.db.utils.OperationalError: (1049, "Unknown database 'test_awesome'")

如果我把 其他2 连接,测试运行正常。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/43743
 
1183 次点击  
文章 [ 1 ]  |  最新文章 5 年前