django笔记_migrate异常处理
Page content
migrate即数据迁移,是Django将你对模型所做的更改(添加字段,删除模型等)同步到数据库的一种方式。它们的设计基本上是自动的,但是你需要知道何时进行迁移,何时运行它们以及可能遇到的常见问题。
这段代码适用于python3环境。
以下为迁移过程中的常用语句
migrate
负责完成迁移过程makemigrations
检测模型是否改动并创建新的迁移sqlmigrate
显示用于迁移的SQL语句showmigrations
列出项目的迁移及状态
实例
在某次执行迁移过程中,一不小心按下了ctrl+c
导致迁移过程只执行了部分,没能全部完成。
而在这样的情况下再次执行 python3 manager.py migrate
出现了 xxx is already exists
这样是因为迁移过程只执行了一半
首先我们通过如下已经查询当前所有迁移的状态
python3 manager.py showmigrations
或在尾部加上指定app的名称来查看
python3 manager.py showmigrations work
而这个时候我们发现work的部分migrations
并没有被提交。并且尝试migrate
显示失败
所以我们通过如下命令跳过下一个migration
并继续执行migrate
python3 manager.py migrate work 0001 --fake