<#10020 feat(cli): Add `meltano state export` and ...
# meltano-repo-activity
g
#10020 feat(cli): Add `meltano state export` and `meltano state import` commands Pull request opened by edgarrmondragon Description Adds two new subcommands to
meltano state
to facilitate migrating Singer state between backends (e.g. from S3 to Snowflake): # Export state from one backend meltano --env-file s3.env state export > states.json # Import into another backend meltano --env-file snowflake.env state import states.json # Or pipe directly meltano --env-file s3.env state export | meltano --env-file snowflake.env state import
meltano state export
Writes all state to stdout as a JSON mapping keyed by state ID. Each value preserves both
completed
and
partial
state (not just the merged view), making round-trips lossless: { "dev:tap-github-to-target-postgres": {"completed": {"singer_state": {...}}, "partial": {}}, ... }
meltano state import [FILE|-]
Reads the mapping produced by
export
from a file argument or from stdin (when no file is given). Overwrites each state ID in the target backend directly via
set()
rather than
update()
, so no unintended merging occurs.
StateStoreManager.get_all()
/
set_all()
Two new non-abstract bulk methods on the base class default to iterating individual `get`/`set` calls. Backends can override them for efficiency (e.g. a single bulk DB query). Checklist • I have read the contribution guide Was generative AI tooling used to co-author this PR? • Yes (please specify the tool below) Generated-by: Claude Sonnet 4.6 following the agentic coding guidelines Related Issues • Closes #10019 meltano/meltano