将 FAB 升级到较新版本

在阅读本文之前,请确保您已阅读 Airflow 升级指南,了解如何为升级做好准备:将 Airflow® 升级到较新版本

为什么需要升级

FAB 提供程序是独立于 Airflow 的软件包,并且是独立发布的。从 1.3.0 版本开始,如果您使用的是 Airflow 3,FAB 现在可以运行自己的迁移。较新的 FAB 版本可能包含数据库迁移,因此您必须运行 airflow fab-db migrate,以使用您要升级到的 FAB 版本中的架构更改来迁移数据库。如果 FABDBManager 包含在 [core] external_db_managers 配置中,则迁移将作为 airflow db migrate 命令的一部分自动运行。

如何升级

要升级 FAB 提供程序,您需要安装新版本的软件包。您可以使用 pip 来完成此操作。安装完成后,您可以通过运行以下命令来运行 FAB 提供程序的数据库升级:airflow fab-db migrate。此命令仅在您使用 Airflow 3.0.0 或更高版本时可用。

该命令采用与 airflow db migrate 命令相同的选项,您可以通过运行 airflow fab-db migrate --help 来了解有关该命令的更多信息。

如何降级

如果需要降级 FAB 提供程序,可以通过运行降级命令来降级到您想要降级的版本,例如 airflow fab-db downgrade --to-version 1.2.0。之后,使用 pip 安装新的 FAB 提供程序版本。

此命令还有其他选项,请通过运行 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"

此条目是否有帮助?