Learn how to fix dbt 1.10 deprecation warnings for meta
and tags
properties, and migrate your project automatically with MetaMove.
When you upgrade to dbt 1.10, you’ll likely encounter deprecation warnings that look like this:
These warnings indicate that dbt is changing how meta
and tags
should be structured in your YAML files. Instead of manually updating potentially hundreds of files, you can use MetaMove - a CLI tool specifically designed to automate this migration.
Starting in dbt 1.10, you will receive deprecation warnings for dbt code that will become invalid in the future, including custom inputs like unrecognized resource properties and configurations. Some properties are moving to configs, including meta
and tags
.
The key change affects how you define meta
and tags
properties across your dbt project:
Before (dbt < 1.10):
After (dbt 1.10+):
Previously, dbt allowed you to configure inputs largely unconstrained. Without a set of strictly defined inputs, it becomes challenging to validate your project’s configuration, creating unintended issues such as silently ignoring misspelled properties and configurations.
This change provides several benefits:
meta
configRather than manually updating your YAML files, use MetaMove - a CLI tool built specifically for this migration. MetaMove automatically transforms your files while preserving comments and formatting.
Install MetaMove using pipx (recommended):
Transform a single YAML file:
Transform multiple files:
Transform all YAML files in your dbt project:
MetaMove follows a safe-by-default approach:
Test First: By default, transformed files are saved to a transformed
directory:
Review Changes: Compare the original and transformed files to ensure accuracy.
Apply In-Place: Once confident, transform files in place:
Specify a custom output directory:
The tool automatically processes only .yml
and .yaml
files, so wildcards work safely:
MetaMove intelligently processes:
meta
and tags
at any nesting level, including inside columns
config
sectionsIf you prefer to migrate manually or need to understand the changes, here are the key transformations:
Before:
After:
Before:
After:
Before:
After:
While migrating meta
and tags
, be aware of other properties moving to configs:
freshness
(for sources)docs
group
access
These properties should now be set under the config
block following the same pattern as meta
and tags
.
If you’re using --warn-error
flags that promote warnings to errors, you may need to adjust your configuration during migration:
This allows you to continue working while addressing deprecation warnings gradually.
After migrating your files:
Run dbt parse: Ensure your project parses without errors:
Check for Warnings: Run a simple command to verify warnings are resolved:
Run Tests: Execute your test suite to ensure functionality is preserved:
If you have existing config
blocks, MetaMove will merge the new properties. However, if you encounter conflicts:
If your YAML files have unusual structures that MetaMove doesn’t handle:
For projects with hundreds of YAML files:
-o
flag to organize transformed files by directoryMigrating to dbt 1.10’s new meta
and tags
structure is essential for maintaining a robust, future-proof dbt project. MetaMove makes this migration straightforward by automating the tedious work while preserving your careful formatting and comments.
The goal is to enable you to work with more safety, feedback, and confidence going forward. By moving meta
and tags
under config
blocks, dbt can provide better validation and prevent the subtle issues that arise from misspelled properties or unintended conflicts.
Start your migration today:
For more information about dbt 1.10 changes and package management best practices, check out the official dbt upgrade guide and explore MetaMove on GitHub for advanced usage and contributing opportunities.