airflow db init 找不到用于生成目标列“id”的外键的表“ab_role”

问题描述 投票:0回答:1

气流 2.4.3

我删除并创建了一个新数据库并发布了 airflow db init 由于缺少一些表格而出现以下错误,

我怎样才能克服这个错误 [2022-11-29 14:46:48,449] {migration.py:204} 信息 - 上下文实现 MySQLImpl。 [2022-11-29 14:46:48,450] {migration.py:207} INFO - 将采用非事务性 DDL。 ..... ... ....

 File "/opt/airflow_test/az/airflow_env/lib64/python3.8/site-packages/sqlalchemy/sql/schema.py", line 2373, in column
    raise exc.NoReferencedTableError(
sqlalchemy.exc.NoReferencedTableError: Foreign key associated with column 'ab_permission_view_role.role_id' could not find table 'ab_role' with which to generate a foreign key to target column 'id'

在启动气流网络服务器时出错

'ab_permission_view_role.permission_view_id' could not find table 'ab_permission_view'
python-3.x airflow mysql-python
1个回答
0
投票

错误的原因多种多样。我在从 GCP 云迁移实例时遇到了这个错误。我尝试了很多东西,但我会写下我记得的东西。

  1. 在airflow.cfg文件中设置的数据库中,首先检查该表是否有外键。

  2. 如果已经存在,好像是sqlalchemy版本冲突的问题。 1.4.46 中的 Airflow 2.5.1 已经确认可以正常工作。 (其他版本产生错误)

    pip 安装 sqlalchemy==1.4.46

  3. 重启。

谢谢

© www.soinside.com 2019 - 2024. All rights reserved.