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 # 比較預設值
)