flask-migrate

本文介绍如何使用 Flask-migrate 进行 MySQL 数据库迁移,包括初始化、迁移和升级等步骤,并提供错误处理方法及同步方案。

使用Flask-migrate 执行数据库迁移命令(mysql)

1.python manage.py db init #初始化,之后生成一个migrations文件夹
我在执行这步之前先把项目里的migrations文件夹删除。
执行完这步之后出现了这个文件夹,不过versions文件夹里变成空的了。
1608688-20190323150116503-1646055196.png

  1. python mange.py db migrate
    执行这一步之前请确保 mysql中已经创建好了连接的数据库。不然会报错 1608688-20190323150842058-1853257730.png
    执行结果:
    1608688-20190323151059162-421471272.png
    出现了这个文件 2c3282dc72cd_.py 是根据model.py 自动创建的建表语句,你可以根据需要自行调整。
    1608688-20190323151626187-936573763.png

  2. python mange.py db upgrade
    执行这一步后,会执行2c3282dc72cd_.py 里的upgrade函数,将迁移中的改动应用到数据库中
    1608688-20190323152017515-1874610346.png

1608688-20190323151906433-563492036.png

看了好多篇资料,好不容易才整理完发现一篇博客讲的挺清楚。
https://wing324.github.io/2017/02/26/Flask-Migrate%E7%9A%84%E4%BD%BF%E7%94%A8/

错误处理

1608688-20190323171637080-1389718729.png

1608688-20190323165301404-760970755.png

数据库管理方法:

使用flask_sqlalchemy 建立model ,然后根据上面三步骤创建好数据库之后,如果之后想要修改数据库模型,直接修改model.py 的模型结构。然后再执行migrate ,upgrade 命令就行。数据库原先的数据不会消失。

flask-migrate数据迁移后再中途部署的同步方案

https://cloud.tencent.com/developer/news/213111
https://blog.youkuaiyun.com/yannanxiu/article/details/87087006
下面命令把当前数据库版本标记进去
flask db stamp <revision>
<revision>是数据库迁移的版本
flask db heads   # 显示最后一次数据库迁移版本(?),heads应该类似于git的head
# OR
# flask db current # 显示当前数据库迁移版本

转载于:https://www.cnblogs.com/plusUltra/p/10584147.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值