使用Flask-Migrate进行管理数据库升级

Posted 福娃

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Flask-Migrate进行管理数据库升级相关的知识,希望对你有一定的参考价值。

  我们在升级系统的时候,经常碰到需要更新服务器端数据结构等操作,之前的方式是通过手工编写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步即可实现数据库的迁移工作。

 

以上是关于使用Flask-Migrate进行管理数据库升级的主要内容,如果未能解决你的问题,请参考以下文章

为什么Flask-migrate在drop column时无法升级

flask-migrate库的使用

flask-migrate使用

Flask-Migrate

[python]Flask-migrate简单入门

python-flask-Flask-SQLAlchemy与Flask-Migrate联合进行数据化迁移