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

Airflow db migrate报错:SqlAlchemySessionInterface缺少必填参数

解决Airflow 2.7.3数据库初始化时的SqlAlchemySessionInterface参数错误

问题原因

这个错误是由于Flask-Session版本与Airflow 2.7.3不兼容导致的。新版Flask-Session(0.6.0及以上)对SqlAlchemySessionInterface的初始化参数做了大幅调整,而Airflow 2.7.3的代码仍沿用旧版参数调用方式,从而触发参数缺失的TypeError。

解决方案

方案1:锁定Flask-Session兼容版本

在CI/CD安装步骤中添加指定版本的命令,强制安装Airflow 2.7.3兼容的Flask-Session版本:

- apt update -y
- pip install --upgrade pip
- pip install apache-airflow==2.7.3
# 新增:安装兼容的Flask-Session版本
- pip install flask-session<0.6.0
- export PATH=/root/.local/bin/:$PATH
- export AIRFLOW_HOME=/root/airflow
- airflow db migrate 
- airflow variables import environments/local.json
- python3 -m pytest -s dags/

注意:将export AIRFLOW_HOME移到airflow db migrate之前,确保Airflow读取正确的配置路径。

方案2:使用Airflow官方约束文件安装

Airflow官方为每个版本提供依赖约束文件,自动确保所有依赖版本兼容,避免冲突:

- apt update -y
- pip install --upgrade pip
# 使用对应Python版本的官方约束文件安装Airflow
- pip install apache-airflow==2.7.3 --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.7.3/constraints-3.11.txt"
- export PATH=/root/.local/bin/:$PATH
- export AIRFLOW_HOME=/root/airflow
- airflow db migrate 
- airflow variables import environments/local.json
- python3 -m pytest -s dags/

约束文件URL中的3.11对应Python版本,需根据CI环境的Python版本调整(比如3.10则改为constraints-3.10.txt)。

方案3:清理依赖缓存(针对有缓存的CI环境)

如果CI环境存在依赖缓存,可能残留不兼容版本,需清理后重新安装:

# 清理pip缓存
- pip cache purge
# 执行方案1或方案2的安装步骤

内容的提问来源于stack exchange,提问作者Lorenzo Ventura

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 20:30:18