天天看點

資料庫遷移工具Flask-Migrate的介紹及使用

1、簡介

Flask-Migrate是一個為Flask應用處理SQLAlchemy資料庫遷移的擴充,使得可以通過Flask的指令行接口或者Flask-Scripts對資料庫進行操作。

2、使用

flask db history 檢視曆史遷移資訊

flask db current 檢視目前資料庫版本

flask db init 初始化資料庫

flask db migrate -m "init_database" 資料庫遷移

flask db upgrade 更新資料庫至最新版本

flask db upgrade revision_id 更新資料庫至某一版本revision_id

flask db downgrade 回退一個版本

flask db downgrade revision_id  回退至某一版本revision_id
           

3、自動更改表字段類型、字段長度

最近在開發過程中遇到了需要将string類型轉換成bool類型的問題,但是一開始設計表是設計成了string類型,是以記錄下flask-migrate更改表字段類型的方式。

alembic支援檢測字段長度改變,不過它不是預設的,需要配置;

找到migrations/env.py檔案,在run_migrations_online函數加入如下内容:

context.configure(
      …………
      compare_type=True,  # 檢查字段類型
      compare_server_default=True # 比較預設值
      )