升級 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"

此條目是否有幫助?