flask-migrate映射数据库
使用 db.create_all() 后期修改或者增加字段的时候,不会自动映射到数据库中,必须删除表,然后重新运行 db.create_all() 才会重新映射
flask-migrate 可以将修改的字段映射到数据库中
老版本的 flask-migrate 需配合 flask-script 使用,由于 flask-script 长久不维护,且没有适配 flask 2.0 以上的版本,所以 flask-migrate 去掉了 flask-script 的支持
官方文档:https://flask-migrate.readthedocs.io/en/latest
安装
1 | activate # 进入虚拟环境 |
使用
1 | from flask import * |
1 | activate |
flask db init 会生成 migrations 文件夹,目录结构如下:

排坑
只有在新增或者删减字段时 flask db migrate 才会起作用
更新表字段不起作用,输出 INFO [alembic.env] No changes in schema detected.
经过多方查询,需更改 migrations -> env.py 中的配置项
1 | def run_migrations_online(): |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 白茶与风!
评论

