将 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"