python - Django 将表迁移到新数据库

标签 python mysql django database

我最初有一个带有单个应用程序的 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',
    }    
}

我希望将应用程序(例如 app1)从默认设置移动到 db2。路由器已经知道将 app1 指定为 db2,但是运行迁移什么也不做。有什么想法吗?

最佳答案

@knbk 的回答最终是正确的,只是该解决方案涉及一个额外的步骤。

1. python manage.py migrate auth --database=db2
2. python manage.py migrate app1 --database=db2

关于python - Django 将表迁移到新数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40637991/

相关文章:

php - 如何从 MySQL 中获取数据

python - 如何使用日志记录将日志发送到松弛作为 python 和 flask 中的消息?

python - 模拟云室轨迹

python - 如何将元组集合转置为字典?

mysql - 如何从winForm输入希伯来语到mySql

mysql不允许我从两个单独的表中提取并比较它们

python - Django 从字符字段迁移到整数字段?

python - 将 url 参数传递给序列化器

python - 备忘单文档 django python

python - 如何在不使用机器人框架和 python 滚动的情况下获取所有匹配元素?