使用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步即可實現數據庫的遷移工作。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM