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