升級 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 資料庫,您可以透過執行 reset 命令來完成此操作,例如 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"

這篇內容有幫助嗎?