-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Description
Is this a new bug in dbt-core?
- I believe this is a new bug in dbt-core
- I have searched the existing issues, and I could not find an existing issue for this bug
Current Behavior
In mantle/core, if a seed exists in a package, but is disabled in the main project in favor of another seed defined in the main project itself. The disabling configuration in the main project does not work.
This problem was observed in the IA project. The dbt_project_evaluator_exceptions definition in dbt_project.yml in the root project explicitly disables dbt_project_evaluator_exceptions from the dbt_project_evaluator project (see https://github.com/dbt-labs/internal-analytics/blob/257e1faf3f77273c8df75d227a68476062781a53/dbt_project.yml#L447-L449), but mantle still merges in the dbt_project_evaluator_exceptions config from the dbt_project_evaluator package. Rather than using the dbt_project_evaluator_exceptions from the main project.
Expected Behavior
The internal-analyitics project has a project-wide definition for dbt_project_evaluator_exceptions in its dbt_project.yml file:
dbt_project_evaluator:
dbt_project_evaluator_exceptions:
+enabled: false. <---- Nick: Gerda explained that IA do this to disable the imported seed from dbt_project_evaluatorOr see contents in github with context showing that dbt_project_evaluator_exceptions is a seed:
However, in the file dbt_packages/dbt_project_evaluator/seeds/seeds.yml , which comes from an imported package, I see the below definition for dbt_project_evaluator_exceptions which has additional content:
seeds:
- name: dbt_project_evaluator_exceptions
description: List of exceptions not to be reported.
config:
column_types:
fct_name: "{{ 'varchar' if target.type in ['redshift', 'postgres', 'snowflake', 'trino', 'greenplum'] else 'String' if target.type in ['clickhouse'] else 'string' }}"
column_name: "{{ 'varchar' if target.type in ['redshift', 'postgres', 'snowflake', 'trino', 'greenplum'] else 'String' if target.type in ['clickhouse'] else 'string' }}"
id_to_exclude: "{{ 'varchar' if target.type in ['redshift', 'postgres', 'snowflake', 'trino', 'greenplum'] else 'String' if target.type in ['clickhouse'] else 'string' }}"
comment: "{{ 'varchar' if target.type in ['redshift', 'postgres', 'snowflake', 'trino', 'greenplum'] else 'String' if target.type in ['clickhouse'] else 'string' }}"
columns:
- name: fct_name
description: Name of the fact table to define exceptions.
- name: column_name
description: Column name from fct_name to define exceptions.
- name: id_to_exclude
description: Values (or like pattern) to exclude for column_name.
- name: comment
description: Field to document why a given exception is legitimate.As previously mentioned, dbt_project_evaluator is from an imported package as can be seen from dependencies.yml:
packages:
- package: dbt-labs/dbt_external_tables
version: 0.8.7
- package: dbt-labs/dbt_project_evaluator
version: [">=1.1.0", "<1.2.0"]@gerda Shank Explained that the config in dbt_project.yml is actually for disabling the seed from the imported project. Instead, the seed that is used is the one internal to the root project at data/dbt_project_evaluator_exceptions.csv
Steps To Reproduce
This bug was observed by trying to do dbt list in fusion from a mantle manifest.
$ cd Github/internal-analytics
$ dbtd list -s state:modified --state ./anis_mantle_manifest --target snowflake
dbt-fusion 2.0.0-preview.43 (v2.0.0-preview.43-31-g2e1c950ca3-modified 2025-10-22 09:20:06)
dbt-fusion 2.0.0-preview.43
Loading ~/.dbt/profiles.yml
Loading dependencies.yml
DOWNLOADING publication artifact for ga_analytics
DOWNLOADED publication artifact for ga_analytics to /home/nick.othieno/Github/internal-analytics/target/dbt_cloud_publications/ga_analytics.json
DOWNLOADING publication artifact for vortex_event_analytics
DOWNLOADED publication artifact for vortex_event_analytics to /home/nick.othieno/Github/internal-analytics/target/dbt_cloud_publications/vortex_event_analytics.json
Extending target/dbt_cloud_publications/ga_analytics.json (Cross Project Refs)
Extending target/dbt_cloud_publications/vortex_event_analytics.json (Cross Project Refs)
warning: dbt0102: This project defines semantic models and metrics using the legacy YAML. Please migrate to the new YAML to use the semantic layer with dbt Fusion.
warning: dbt0102: This project defines semantic models and metrics using the legacy YAML. Please migrate to the new YAML to use the semantic layer with dbt Fusion.
Selected nodes
fishtown_internal_analytics.dbt_project_evaluator_exceptions. <---- Nick: This is node should not exist, it is due to mantle incorrectly merging in the seed from the package
New version available 2.0.0-preview.45 (run `dbt system update`)
Relevant log output
Environment
- OS:
- Python:
- dbt:Which database adapter are you using with dbt?
No response
Additional Context
No response