終於到了Flask-Migrate,以前在學習Flask-SQLAlchemy的時候,有的同窗就提過相似的問題,Flask支持 makemigration / migrate 嗎?html
答案在這裏該訴你,若是你同時擁有兩個三方組件 Flask-Script 和 Flask-Migrate 那麼就支持這樣的動做python
首先你要有幾個準備工做數據庫
第十五章的知識回顧flask
第十五章的項目下載app
廢話很少說,直接進入正題ide
pip install Flask-Migrate
1 import MyApp 2 # 導入 Flask-Script 中的 Manager 3 from flask_script import Manager 4 5 # 導入 Flask-Migrate 中的 Migrate 和 MigrateCommand 6 # 這兩個東西說白了就是想在 Flask-Script 中添加幾個命令和指令而已 7 from flask_migrate import Migrate,MigrateCommand 8 9 app = MyApp.create_app() 10 # 讓app支持 Manager 11 manager = Manager(app) # type:Manager 12 13 # Migrate 既然是數據庫遷移,那麼就得告訴他數據庫在哪裏 14 # 而且告訴他要支持那個app 15 Migrate(app,MyApp.db) 16 # 如今就要告訴manager 有新的指令了,這個新指令在MigrateCommand 中存着呢 17 manager.add_command("db",MigrateCommand) # 當你的命令中出現 db 指令,則去MigrateCommand中尋找對應關係 18 """ 19 數據庫遷移指令: 20 python manager.py db init 21 python manager.py db migrate # Django中的 makemigration 22 python manager.py db upgrade # Django中的 migrate 23 """ 24 25 26 @manager.command 27 def DragonFire(arg): 28 print(arg) 29 30 @manager.option("-n","--name",dest="name") 31 @manager.option("-s","--say",dest="say") 32 def talk(name,say): 33 print(f"{name}你可真{say}") 34 35 if __name__ == '__main__': 36 #app.run() 37 # 替換原有的app.run(),而後大功告成了 38 manager.run()
python manager.py db init
此時你會發現你的項目目錄中出現了一個好玩兒的東西學習
接下來的操做就和Django中同樣了,在這裏就不作演示了spa
本章結束code