1、简介
Flask-Migrate是一个为Flask应用处理SQLAlchemy数据库迁移的扩展,使得可以通过Flask的命令行接口或者Flask-Scripts对数据库进行操作。
2、使用
flask db history 查看历史迁移信息
flask db current 查看当前数据库版本
flask db init 初始化数据库
flask db migrate -m "init_database" 数据库迁移
flask db upgrade 更新数据库至最新版本
flask db upgrade revision_id 更新数据库至某一版本revision_id
flask db downgrade 回退一个版本
flask db downgrade revision_id 回退至某一版本revision_id
3、自动更改表字段类型、字段长度
最近在开发过程中遇到了需要将string类型转换成bool类型的问题,但是一开始设计表是设计成了string类型,因此记录下flask-migrate更改表字段类型的方式。
alembic支持检测字段长度改变,不过它不是默认的,需要配置;
找到migrations/env.py文件,在run_migrations_online函数加入如下内容:
context.configure(
…………
compare_type=True, # 检查字段类型
compare_server_default=True # 比较默认值
)