> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.itential.com/itential-gateway/5/iagctl/db-migrate-local-to-etcd/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.itential.com/_mcp/server. # iagctl db migrate local-to-etcd Migrate data from a local database to an etcd database. The `iagctl db migrate local-to-etcd` command moves data from the local database at `GATEWAY_APPLICATION_WORKING_DIR/gateway.db` to the etcd database at `GATEWAY_STORE_ETCD_HOSTS`. Before you run this command, verify that all `GATEWAY_STORE_ETCD_*` configuration variables are set correctly. The gateway prefixes all migrated database keys with the cluster ID set by `GATEWAY_APPLICATION_CLUSTER_ID`. For example, a Python script record has a key that resembles `gateway/cluster_1/services/v1/python-script/my-script`. For more information, see [Configure etcd database](../configure-etcd-database). ## Syntax ```bash iagctl db migrate local-to-etcd [flags] ``` ## Examples ### Migrate non-conflicting records The following example moves records from the local database to etcd. If a record with the same key already exists in etcd, the gateway skips it to avoid overwriting existing data: ```bash iagctl db migrate local-to-etcd ``` ### Migrate all records The following example moves all records and overwrites any existing records in etcd that have conflicting keys: ```bash iagctl db migrate local-to-etcd --force ``` ### Preview the migration Use the `--check` flag to display a report of what the gateway would migrate without moving any data. The report shows which records the gateway would skip or replace depending on whether you include `--force`: ```bash iagctl db migrate local-to-etcd --check ``` ```bash iagctl db migrate local-to-etcd --check --force ``` ## Options ```bash --check Display a report of what data would migrate without making changes. --force Replace conflicting records that already exist in the etcd database. -h, --help Help for local-to-etcd ``` ## Options inherited from parent commands ```bash --profile string Specify the client profile to use (case-insensitive, defaults to [client] section) --config string Path to the configuration file --raw Display the result of the command in raw format --verbose Enable verbose output ```