【发布时间】:2017-01-24 11:12:29
【问题描述】:
这是我Settings.py中的DATABASES字典
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'account',
'USER': 'xxxx',
'PASSWORD': 'xxxx',
'HOST': 'localhost',
'PORT': '3306'
}
}
我的数据库有多个模式,例如,帐户、登录、通知等。
当我执行 python manage.py inspectdb 时,我只获取“帐户”模式中的表的类,但我想要所有模式的类。
我尝试做python manage.py inspectdb --database=login,但我得到了django.db.utils.ConnectionDoesNotExist 异常
但是,如果我将设置更改为
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'account',
'USER': 'xxxx',
'PASSWORD': 'xxxx',
'HOST': 'localhost',
'PORT': '3306'
},
'login': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'login',
'USER': 'xxxx',
'PASSWORD': 'xxxx',
'HOST': 'localhost',
'PORT': '3306'
},
}
我在执行python manage.py inspectdb --database=login 时获得了正确的表登录类。但是,问题是,如果这应该是程序,我必须在DATABASES 选项中做出一个选项,这将变得非常长,因为我有超过 15 个模式,我不确定这样做是否会是不是一件好事。
所以,我想知道这样做的正确方法是什么。
我在 Django 1.10.5 上。
【问题讨论】:
-
为什么不将所有表放在一个数据库中?
-
@aumo 我不能。它是旧数据库或实时应用程序,我无法更改数据库中的任何内容。
标签: python mysql django database