【发布时间】:2021-02-09 16:59:36
【问题描述】:
我对 Django 迁移有疑问。我的项目中有多个数据库。我想为他们所有人进行迁移。我编写了自己的迁移,如果我运行以下命令,一切正常。
python manage.py migrate app-name first_migration
python manage.py migrate --datatbase=db_1 app-name first_migration
python manage.py migrate --datatbase=db_2 app-name first_migration
python manage.py migrate app-name second_migration
python manage.py migrate --datatbase=db_1 app-name second_migration
python manage.py migrate --datatbase=db_2 app-name second_migration
python manage.py migrate app-name third_migration
python manage.py migrate --datatbase=db_1 app-name third_migration
python manage.py migrate --datatbase=db_2 app-name third_migration
但我想自动化它,只运行:
python manage.py migrate
不幸的是,当我这样做时,migration3 出现以下错误
django.db.utils.operationalerror no such column: column_name
但是在migration2中添加了column_name
有人知道,我该如何解决这个问题并使用一个命令运行所有迁移?
【问题讨论】:
-
关于标题中的问题:不幸的是,您需要为每个数据库执行 _execute_
migrate(您可以为此编写脚本)。但是你有没有设置任何路由器? (在docs 中查看更多信息)
标签: python django migration database-migration