升級 FAB 至較新版本¶
在閱讀本文之前,請務必先閱讀 Airflow 升級指南,以了解如何為升級做準備: 將 Airflow® 升級至較新版本
為何需要升級¶
FAB provider 是與 Airflow 分開的套件,並且獨立發布。從 1.3.0 版本開始,如果您使用的是 Airflow 3,FAB 現在可以執行自己的遷移。較新的 FAB 版本可能包含資料庫遷移,因此您必須執行 airflow fab-db migrate
以使用您要升級到的 FAB 版本中的 schema 變更來遷移您的資料庫。如果 FABDBManager
包含在 [core] external_db_managers
設定中,則遷移將自動作為 airflow db migrate
命令的一部分執行。
如何升級¶
若要升級 FAB provider,您需要安裝新版本的套件。您可以使用 pip
來執行此操作。安裝後,您可以透過執行以下命令來執行 FAB provider 的資料庫升級:airflow fab-db migrate
。此命令僅在您使用 Airflow 3.0.0 或更新版本時可用。
此命令採用與 airflow db migrate
命令相同的選項,您可以透過執行 airflow fab-db migrate --help
來了解有關此命令的更多資訊。
如何降級¶
如果您需要降級 FAB provider,您可以透過執行降級命令至您要降級的版本來執行此操作,例如 airflow fab-db downgrade --to-version 1.2.0
。之後,使用 pip
安裝新的 FAB provider 版本。
此命令還有其他選項,請執行 airflow fab-db downgrade -help
來查看。
重置 FAB 資料庫¶
如果您需要重置 FAB 資料庫,您可以透過執行重置命令來執行此操作,例如 airflow fab-db reset
。此命令將刪除 FAB 資料庫中的所有表格並重新建立它們。此命令僅在您使用 Airflow 3.0.0 或更新版本時可用。此命令還有其他選項,請執行 airflow fab-db reset --help
來查看。
離線 SQL 遷移腳本¶
如果您想離線執行升級腳本,您可以使用 -s
或 --show-sql-only
標記來取得將被執行的 SQL 語句。您也可以使用 --from-version
標記指定起始 FAB 版本,並使用 -n
或 --to-version
標記指定結束 FAB 版本。此功能在 Postgres 和 MySQL 中受支援。
- Airflow 版本 2.7.0 或更高版本的範例用法
airflow fab-db migrate -s --from-version "1.3.0" -n "1.4.0"
airflow fab-db migrate --show-sql-only --from-version "1.3.0" --to-version "1.4.0"