Meltano 3.0 Migration Guide
Note: This document is still a work in progress. Expect further changes, coming soon.
The following list includes all recommended migration tasks as well as breaking changes in Meltano version 3.0.
Recommended
Changed
Using Postgres as a backend now requires installing Meltano with extra components
If you are already using Postgres as a backend, odds are you rely on Meltano's dependency on psycopg2
, so you will need to install Meltano with the psycopg2
extra:
pipx install "meltano[psycopg2]"
If you are setting a Postgres backend for the first time, it's recommended to instead use the postgres
extra and use the postgresql+psycopg
URI scheme:
pipx install "meltano[postgres]"
meltano config meltano set database_uri postgresql+psycopg://<username>:<password>@<host>:<port>/<database>
Plugin lock files are now always required
Plugin lock files are now always required.
Before this, Meltano fell back to retrieving the plugin definition from Meltano Hub if the lock file was missing. This behavior caused issues when lock files were not deployed to production and Meltano Hub was unavailable because of network restrictions.
Migration steps
- Enable the
ff.plugin_locks_required
feature flag:
meltano config meltano set ff.plugin_locks_required true
- Test that your project still works as expected. For example, by installing all plugins:
meltano install
- Generate all lock files for your project:
meltano lock --all
- (Optional) Remove the
ff.plugin_locks_required
feature flag after upgrading to Meltano v3, since it has no effect in Meltano v3.