使用Flask-Migrate進行管理數據庫升級

  咱們在升級系統的時候,常常碰到須要更新服務器端數據結構等操做,以前的方式是經過手工編寫alter sql腳本處理,常常會發現遺漏,致使程序發佈到服務器上後沒法正常使用。python

如今咱們可使用Flask-Migrate插件來解決之,Flask-Migrate插件是基於Alembic,Alembic是由大名鼎鼎的SQLAlchemy做者開發數據遷移工具。sql

具體操做以下:數據庫

1. 安裝Flask-Migrate插件flask

$ 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. 數據遷移,自動建立遷移代碼app

$ python app.py db migrate

5. 更新數據庫工具

$ python app.py db upgrade

後面若是有Model變動的話,在開發環境下只須要重複執行第四、5步便可。spa

而在服務器端只須要執行第5步便可實現數據庫的遷移工做。插件

相關文章
相關標籤/搜索