<@U088WCP3B4P> I am getting this depreaction error...
# ask-elementary-ai
a
@kapa.ai I am getting this depreaction error when running dbt compile on my project
Copy code
WARNING][PropertyMovedToConfigDeprecation]: Deprecated functionality
Found `meta` as a top-level property of `models[1]` in file
`models/run_results.yml`. The `meta` top-level property should be moved into the
`config` of `models[1]`.
models/run_results.yml appear to exist under the elementary dbt_packages folder. Is this a known deprecation error?
k
Yes, this is a known issue. The
meta
key being used as a top-level property in Elementary's
run_results.yml
(inside
dbt_packages/elementary/
) is flagged by newer versions of dbt, which now enforce stricter YAML parsing and require configuration fields like
meta
,
tags
, and
severity
to be nested under a
config
block instead. [dbt VS Code extension issues] This warning is coming from Elementary's own package files, not your project's YAML, so you cannot fix it directly — it needs to be addressed in a new release of the Elementary dbt package. What you should do: 1. Upgrade Elementary to the latest version of the dbt package. The Elementary team has been actively working on compatibility with dbt's stricter parsing rules, and upgrading has resolved similar issues for other users. [dbt VS Code extension issues] 2. If you are migrating to dbt Fusion, note that Elementary supports it starting from version 0.20, and the migration requires moving configuration fields (
meta
,
tags
,
severity
) under a
config
block in your own project YAMLs as well. [dbt Fusion OSS] 3. For now,
dbt run
and
dbt compile
should still work as expected — this is currently a warning, not a hard error, though dbt has indicated it will become one in a future release. [dbt VS Code extension issues] In summary: this is a known compatibility issue between Elementary's package and newer dbt versions. Upgrading Elementary is the recommended first step. šŸ‘ 0 button šŸ‘Ž 0 button ā„¹ļø Tip: Mention @elementary.ai in the thread for follow-ups or DM the app for 1-to-1 help.
a
@kapa.ai i am using getting this deprecation warning in the same compile
Copy code
WARNING][CustomKeyInConfigDeprecation]: Deprecated functionality
Custom key `elementary` found in `config` at path `models[0].config` in file
`models/full_history/xyz/schema.yml`. Custom config keys
should move into the `config.meta`.
k
This is a related but distinct deprecation warning. It's telling you that the
elementary
key you've placed directly inside
config:
in your own project's
schema.yml
is no longer valid — dbt now requires custom keys like
elementary
to be nested under
config.meta
instead. For example, you likely have something like this in your `schema.yml`:
Copy code
# Old syntax (causes the warning)
models:
  - name: xyz
    config:
      elementary:
        timestamp_column: "loaded_at"
This needs to be changed to:
Copy code
# New syntax (dbt Fusion / dbt 1.11+ compatible)
models:
  - name: xyz
    config:
      meta:
        elementary:
          timestamp_column: "loaded_at"
This is consistent with dbt Fusion's stricter YAML parsing, which no longer allows arbitrary custom keys directly under
config:
. [dbt Fusion OSS] A community member reported exactly this scenario — dbt Fusion flagging
config.elementary
as an unexpected key and suggesting it should be moved under
meta
. [Slack thread] What you should do: 1. Move any
elementary:
blocks from
config:
into
config.meta:
in your own project's YAML files (as shown above). 2. If you are migrating to dbt Fusion, dbt provides a tool called dbt-autofix that can help automate these YAML migrations. [dbt Fusion OSS] Note that this warning is about your project's YAML files, not Elementary's package files — so this one is within your control to fix directly. šŸ‘ 0 button šŸ‘Ž 0 button ā„¹ļø Tip: Mention @elementary.ai in the thread for follow-ups or DM the app for 1-to-1 help.
a
@kapa.ai will this break elementary ability to do its thing?
k
Based on the conversation so far, you're asking whether the
CustomKeyInConfigDeprecation
warning (about
config.elementary
needing to move to
config.meta
) will break Elementary's functionality. The knowledge sources don't explicitly address whether moving
elementary:
config from
config:
to
config.meta:
will break Elementary's anomaly detection or other features. The community member who reported this exact warning received an acknowledgment from Elementary support that they were looking into it, but no definitive answer was provided in the available sources. [Slack thread] What I can say with confidence from the knowledge sources: • Currently it's a warning, not an error — so Elementary should still be reading the
elementary
config block and functioning as expected for now. • The Elementary team is aware of dbt Fusion's stricter YAML parsing and is actively working on compatibility. [dbt Fusion OSS] • The dbt-autofix tool is recommended for migrating syntax, but whether Elementary's package is already updated to read config from
config.meta.elementary
(vs
config.elementary
) is not confirmed in the available sources. My recommendation: Before making the change in your project YAMLs, I'd suggest reaching out directly to the Elementary community on Slack to confirm that the latest Elementary version correctly reads
config.meta.elementary
— otherwise moving the config could silently break timestamp column detection and other Elementary-specific configurations. šŸ‘ 0 button šŸ‘Ž 0 button ā„¹ļø Tip: Mention @elementary.ai in the thread for follow-ups or DM the app for 1-to-1 help.
i
Hi @Alex , this should definitely work for you. We also regularly test against dbt-fusion where the new configuration format is enforced - so I definitely recommend migrating to it and resolving the warnings.
āœ… 1
a
hey @Itamar Hartstein, thanks for replying. Yeap i've upgraded elementary and to the latest version of fusion. looks all good from my side!