如何迁移django中的第二个数据库



我有两个数据库,一个是默认数据库,另一个是第一个。我想要的是在first_db中进行一些更改,现在我想迁移。

在我的设置.py:

DATABASE_ROUTERS = ('app.router.DatabaseRouter',)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'primary_name',
'USER': 'root',
'PASSWORD': 'password',

},
'first': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'secondary_name',
'USER': 'root',
'PASSWORD': 'password',

}
}

我尝试了命令python manage.py migrate--database=首先它显示它已经迁移了,然后当我尝试执行python manage.py-makemigrations时,它说所有迁移都完成了,当我尝试运行服务器并尝试在第一个表中插入一些值时,它开始给我错误,比如我添加的列不存在,任何人都可以帮助我。

我认为迁移实际上并没有发生,所以任何人都可以向我展示在拥有多个数据库时如何正确迁移。

迁移是在名为"first"的数据库中完成的。

如果您也想将它们迁移到默认数据库中以防万一,请运行:

python3 manage.py migrate

否则运行:
python3 manage.py migrate--fake#在默认数据库中进行假迁移以解决运行时错误

并在表中插入一些值:

ModelName.objects.using('first'(.create(id=1…….(other_datas(

参考

最新更新