使用Flask-Migrate进行管理数据库升级
2016-04-03 22:42
591 查看
我们在升级系统的时候,经常碰到需要更新服务器端数据结构等操作,之前的方式是通过手工编写alter sql脚本处理,经常会发现遗漏,导致程序发布到服务器上后无法正常使用。
现在我们可以使用Flask-Migrate插件来解决之,Flask-Migrate插件是基于Alembic,Alembic是由大名鼎鼎的SQLAlchemy作者开发数据迁移工具。
具体操作如下:
1. 安装Flask-Migrate插件
2. 修改Flask App部分的代码,以增加Migrate相关的Command
3. 初始化
4. 数据迁移,自动创建迁移代码
5. 更新数据库
后面如果有Model变更的话,在开发环境下只需要重复执行第4、5步即可。
而在服务器端只需要执行第5步即可实现数据库的迁移工作。
现在我们可以使用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步即可实现数据库的迁移工作。
相关文章推荐
- 4、Mysql主键索引创建的实例
- cmake链接MySQL分析
- 在windows下使用postgreSQL导入tpch的数据表
- Memcached全面剖析
- MySQL-导入数据
- 大型服务器架构之MySQL
- oracle开发人员误删表的操作及恢复
- 数据库索引之稠密索引和稀疏索引
- redis安装
- Oracle SQL 查询优化.Part1
- 使用sql语句创建修改SQL Server标识列(即自动增长列)
- postgresql+postgis
- [ERROR] Could not create unix socket lock file /var/run/mysql/mysql.sock.lock
- MySQL学习笔记8(插入、更新、删除数据)
- Dubbo高级篇_03_Redis的安装与使用
- Azure sql database elastic scale
- Percona Toolkit 学习(四)(heartbeat, index-usage,ioprofile,killmextmysql-summary)
- 数据库存储过程命名规范
- redis事务分析
- 关于mysql多重组合查询的一点技巧总结