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

调用dbt audit helper宏报错:'None'无'information_schema'属性求助

dbt audit_helper宏调用报错解决方案

错误原因

报错jinja2.exceptions.UndefinedError: 'None' has no attribute 'information_schema'的核心原因是:old_etl_relation变量的值为None,即adapter.get_relation方法未找到指定的LANDING.STG_ORDERS关系(表/视图)。

排查与解决步骤

  • 确认LANDING schema存在于target.database对应的数据库中
  • 检查STG_ORDERS表/视图是否确实存在于LANDING schema下,注意对象名称的大小写匹配(不同数据库大小写敏感规则不同,比如PostgreSQL区分大小写,Snowflake默认不区分但带引号会强制区分)
  • 验证执行dbt的数据库用户拥有访问LANDING.STG_ORDERS的权限
  • 增加空值判断逻辑,避免None值传入宏导致报错:
{% set old_etl_relation=adapter.get_relation(
  database=target.database,
  schema="LANDING",
  identifier="STG_ORDERS"
) -%}

{% set dbt_relation=ref('STG_ORDERS') %}

{% if old_etl_relation is not none %}
  {{ audit_helper.compare_relation_columns(
    a_relation=old_etl_relation,
    b_relation=dbt_relation
  ) }}
{% else %}
  {{ log("Warning: 未找到LANDING.STG_ORDERS关系", info=True) }}
{% endif %}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 07:48:43