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

这篇内容有帮助吗?