You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Airflow 2.6初始化失败:执行airflow db init报dag_tag__fkey约束不存在

解决Airflow 2.6初始化时dag_tag__fkey约束不存在的错误

问题根源

这个错误是Airflow数据库迁移脚本与alembic版本不兼容,或残留数据库文件导致迁移逻辑冲突所致,和你怀疑的alembic版本问题直接相关。

解决方案

1. 清理残留的Airflow数据文件

Airflow默认使用SQLite数据库,残留的旧数据库会干扰新的迁移流程:

  • 删除默认数据库文件:
    rm ~/airflow/airflow.db
    
  • 可选:清理日志、DAG和插件目录(如果不需要保留现有内容):
    rm -rf ~/airflow/logs ~/airflow/dags ~/airflow/plugins
    

2. 锁定兼容的alembic版本

Airflow 2.6官方兼容的alembic版本为1.10.x,手动指定版本安装:

  • 卸载现有alembic:
    pip uninstall -y alembic
    
  • 安装指定兼容版本:
    pip install alembic==1.10.4
    

3. 重新初始化数据库

执行初始化命令,确认无报错后启动standalone:

airflow db init
airflow standalone

备选方案:重建干净的虚拟环境

如果上述步骤无效,彻底重建conda环境:

  • 删除现有环境:
    conda env remove -n airflow_3_7_2023
    
  • 创建新环境并激活:
    conda create -n airflow_3_7_2023 python=3.7
    conda activate airflow_3_7_2023
    
  • 安装Airflow时同时指定约束(避免版本冲突):
    pip install apache-airflow==2.6.0 alembic==1.10.4
    
  • 再执行数据库初始化和启动命令。

额外排查:检查SQLite版本

Airflow 2.6要求SQLite版本≥3.15.0,执行以下命令确认:

sqlite3 --version

若版本过低,可通过Homebrew升级:

brew install sqlite

升级后需确保Python环境优先使用新安装的SQLite(可通过调整PATH环境变量实现)。


内容的提问来源于stack exchange,提问作者Brian Addison

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 22:32:45