Flask-Migrate

Posted fengchong

tags:

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

Django项目中,在进行数据库迁移的时候会执行以下两条命令:

python manage.py makemigrations
python manage.py migrate

那么Flask支持 makemigration / migrate 吗?

答案在这里该诉你,如果你同时拥有两个三方组件 Flask-Script 和 Flask-Migrate 那么就支持这样的操作

 Flask-Script 的安装与使用可参考之前的博客内容

一、安装 Flask-Migrate

pip3 install Flask-Migrate

二、将 Flask-Migrate 加入到 Flask 项目中

PS: 注意了 Flask-Migrate 是要依赖 Flask-Script 组件的

技术图片
from app import create_app
# 导入 Flask-Script 中的 Manager
from flask_script import Manager
# 导入 Flask-Migrate 中的 Migrate 和 MigrateCommand
# 这两个东西说白了就是想在 Flask-Script 中添加几个命令和指令而已
from flask_migrate import Migrate,MigrateCommand

my_app = create_app()
# 让app支持 Manager
manager = Manager(my_app)

from app import db
# Migrate 既然是数据库迁移,那么就得告诉他数据库在哪里
# 并且告诉他要支持那个app
Migrate(my_app,db)
 # 现在就要告诉manager 有新的指令了,这个新指令在MigrateCommand 中存着呢
 # 当你的命令中出现database指令,则去MigrateCommand中寻找对应关系
manager.add_command("database",MigrateCommand) 
#数据库迁移指令
#1.python manage.py database init
#2.python manage.py database migrate       #django中的makemigration
#3.python manage.py database upgrade     #django中的migrate

if __name__ == __main__:

    manager.run()
manage.py

 

以上是关于Flask-Migrate的主要内容,如果未能解决你的问题,请参考以下文章

Flask-Migrate

Flask-Migrate

Flask之flask-migrate 数据库迁移

Flask-Migrate

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

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