use*_*306 4 python mysql database django
我最初有一个带有单个应用程序的django项目,所有模型都在该应用程序中定义.该项目在启动时仅使用默认数据库.它现在已成为一个笨拙的应用程序,我正在尝试分解为较小的应用程序.这样做,我想为不同的应用程序使用不同的数据库.我在settings.py文件中设置了新数据库和路由器.但是,我对如何将现有表迁移到新数据库感到困惑.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'db_name',
'USER': 'db_user_name',
'PASSWORD': 'password',
'HOST': 'hostname',
'PORT': '3306',
},
'db2': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'db_name2',
'USER': 'db_user_name2',
'PASSWORD': 'password2',
'HOST': 'hostname2',
'PORT': '3306',
}
}
Run Code Online (Sandbox Code Playgroud)
我希望应用程序(例如app1)从默认值移动到db2.路由器已经知道将app1指定给db2但是正在运行的迁移什么都不做.有任何想法吗?
@ knbk的答案最终是正确的,除了解决方案涉及一个额外的步骤.
1. python manage.py migrate auth --database=db2
2. python manage.py migrate app1 --database=db2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2373 次 |
| 最近记录: |