flask-migrate修改models中字段的长度or类型

想必使用flask都遇到过数据迁移中列需要更改的问题,如修改列的类型或者修改列的长度等等
但是实际使用过程中直接执行db migrate命令会发现检测不到这些列被修改。
其实alembic支持检测字段长度or类型改变,不过它不是默认的,需要配置,
找到migrations/env.py文件,在run_migrations_online函数context.configure中加入如下内容:

            compare_type=True,  # 检查字段类型
            compare_server_default=True,  # 比较默认值

然后再去执行python xxxx.py db migrate命令,发现迁移成功并且找到列的变化
迁移成功
成功之后会生成新的db revison文件,文件中记录的就是之前修改过的字段的变化
新的revison文件
最后再执行python xxxx.py db upgrade就实现字段的变更

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值