使用Flask-Migrate进行管理数据库升级
2024-08-29 11:59:14
我们在升级系统的时候,经常碰到需要更新服务器端数据结构等操作,之前的方式是通过手工编写alter sql脚本处理,经常会发现遗漏,导致程序发布到服务器上后无法正常使用。
现在我们可以使用Flask-Migrate插件来解决之,Flask-Migrate插件是基于Alembic,Alembic是由大名鼎鼎的SQLAlchemy作者开发数据迁移工具。
具体操作如下:
1. 安装Flask-Migrate插件
$ pip install Flask-Migrate
2. 修改Flask App部分的代码,以增加Migrate相关的Command
db = SQLAlchemy(app)
migrate = Migrate(app, db) manager = Manager(app)
manager.add_command('db', MigrateCommand)
3. 初始化
$ python app.py db init
4. 数据迁移,自动创建迁移代码
$ python app.py db migrate
5. 更新数据库
$ python app.py db upgrade
后面如果有Model变更的话,在开发环境下只需要重复执行第4、5步即可。
而在服务器端只需要执行第5步即可实现数据库的迁移工作。
最新文章
- How to implement equals() and hashCode() methods in Java[reproduced]
- linux sed命令详解
- java中scanner类的用法
- Excel画的图复制到Word中变形的解决办法
- 理解SQL Server中的权限体系(上)----主体
- setsockopt中参数之SO_REUSEADDR的意义(转)
- http server 下载地址
- c++字符串机理
- 《Javascript模式》之对象创建模式读书笔记
- jQuery常用及基础知识总结(一)
- 2.2. 添加托管对象模型(Core Data 应用程序实践指南)
- 富文本,NSAttributedString,当需要改变的内容有相同的时候的解决方法
- Cannot resolve class or package 'mysql’
- 6 week work 1
- P4001 [ICPC-Beijing 2006]狼抓兔子
- mvc输出json时报HTTP Status 406错误
- python获取子进程的返回值
- SQL Server的分页优化及Row_Number()分页存在的问题
- MVC源码分析 - Error过滤器
- 2017.11.16 JavaWeb-------第八章 EL、JSTL、Ajax技术