Airflow 2.0.0升级至2.2.5时initdb报错:dag_stats表不存在
Airflow 2.0.0 升级至2.2.5数据库操作失败的解决方案
核心问题
升级过程中,alembic迁移脚本a56c9515abdc尝试删除dag_stats表,但该表不存在导致数据库升级中断。即使手动创建该表,由于迁移版本记录不匹配,问题仍会重复出现。
解决步骤
1. 修正迁移版本记录
登录PostgreSQL数据库,执行SQL查看当前迁移版本:
SELECT version_num FROM alembic_version;
若当前版本为c8ffec048a3b,直接将版本更新至目标迁移版本:
UPDATE alembic_version SET version_num = 'a56c9515abdc';
2. 完成数据库升级
使用正确的升级命令(升级操作应使用upgrade而非initdb,initdb仅适用于初始化全新数据库):
airflow db upgrade heads
3. 修复AWS Provider导入警告
deprecated()收到意外的关键字参数'name'警告源于apache-airflow-providers-amazon版本与Airflow 2.2.5不兼容,安装适配版本的provider:
pip install apache-airflow-providers-amazon==4.0.0
4. 更新配置消除DeprecationWarning
按照提示修改airflow.cfg中的配置项:
- 将
[core]下的logging_level移至[logging]下 - 将
[admin]下的hide_sensitive_variable_fields移至[core]下,并重命名为hide_sensitive_var_conn_fields - 将
[core]下的base_log_folder移至[logging]下 - 将
[celery]下的default_queue移至[operators]下 - 将
[scheduler]下的statsd_on移至[metrics]下
内容的提问来源于stack exchange,提问作者subrat nayak
相关产品推荐
相关产品推荐

