终于到了Flask-Migrate,以前在学习Flask-SQLAlchemy的时候,有的同窗就提过相似的问题,Flask支持 makemigration / migrate 吗?html
答案在这里该诉你,若是你同时拥有两个三方组件 Flask-Script 和 Flask-Migrate 那么就支持这样的动做python
首先你要有几个准备工做数据库
第十七章的知识回顾flask
第十七章的项目下载app
pip install Flask-Migrate
import MyApp # 导入 Flask-Script 中的 Manager from flask_script import Manager # 导入 Flask-Migrate 中的 Migrate 和 MigrateCommand # 这两个东西说白了就是想在 Flask-Script 中添加几个命令和指令而已 from flask_migrate import Migrate,MigrateCommand app = MyApp.create_app() # 让app支持 Manager manager = Manager(app) # type:Manager # Migrate 既然是数据库迁移,那么就得告诉他数据库在哪里 # 而且告诉他要支持那个app Migrate(app,MyApp.db) # 如今就要告诉manager 有新的指令了,这个新指令在MigrateCommand 中存着呢 manager.add_command("db",MigrateCommand) # 当你的命令中出现 db 指令,则去MigrateCommand中寻找对应关系 """ 数据库迁移指令: python manager.py db init python manager.py db migrate # Django中的 makemigration python manager.py db upgrade # Django中的 migrate """ @manager.command def DragonFire(arg): print(arg) @manager.option("-n","--name",dest="name") @manager.option("-s","--say",dest="say") def talk(name,say): print(f"{name}你可真{say}") if __name__ == '__main__': #app.run() # 替换原有的app.run(),而后大功告成了 manager.run() MyApp/manager.py
python manager.py db init
此时你会发现你的项目目录中出现了一个好玩儿的东西ide
接下来的操做就和Django中同样了,在这里就不作演示了学习