python - 使用flask-migrate进行数据库迁移时,如何更改db.String()的长度?
本文介绍了python - 使用flask-migrate进行数据库迁移时,如何更改db.String()的长度?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
比如有一个简单的模型
class User(db.Model):
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(32), index=True)
一开始,username的长度限制在32,现在将其增大,比如说变为128,flask-migrate似乎不会检测到这个String变长的变化。
我使用了命令自动生成迁移脚本
python code.py db migrate -m "some comment"
python code.py db upgrade
之后,发现username的列的长度依旧被限制在32.
如何进行String长度的变化这种迁移?
解决方案
alembic支持检测字段长度改变,不过它不是默认的,需要配置。
设置compare_type
为True
可以检查出类型字段的改变比如字段长度,设置compare_server_default
可以检查出设置的字段默认值的改变。
这篇关于python - 使用flask-migrate进行数据库迁移时,如何更改db.String()的长度?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文