根据Django 文档:
migrate 管理命令一次对一个数据库进行操作。默认情况下,它在默认数据库上运行,但通过提供 --database 选项,您可以告诉它同步不同的数据库。
我的 Django 应用程序在我的本地开发环境中具有以下数据库配置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'mydatabase',
'USER': 'myuser',
'PASSWORD': 'mypassword',
'HOST': 'localhost',
'PORT': '5432',
},
'external_db': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'myexternaldb',
'USER': 'myexternaluser',
'PASSWORD': 'myexternalpassword',
'HOST': '10.10.10.10',
'PORT': '3306',
'OPTIONS': {
'init_command': "SET sql_mode='STRICT_TRANS_TABLES'"
}
}
}
我在“external_db”数据库中只有一张表,我把它当作只读的(实际上用户只有读权限)。当我尝试迁移默认数据库中的表时,出现以下错误:
_mysql_exceptions.OperationalError: (2003, “无法连接到‘10.10.10.10’ (10060) 上的 MySQL 服务器”)
当文档明确指出它默认仅适用于默认数据库时,为什么迁移操作会尝试连接到此外部数据库?这是一个 Django 错误吗?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句