Compose YAML for a new version
mycli dynamodb generate --version 001
Validate generated sections vs EM
mycli dynamodb validate --version 001
Create with refresh and TableName override
mycli dynamodb create --version 001 \
--refresh-generated \
--table-name-override MyTable \
--max-seconds 120
Delete and purge (CI-friendly)
mycli dynamodb delete --table-name MyTable --version 001 --max-seconds 30 --force
mycli dynamodb purge --table-name MyTable --version 001 --force
Migrate data with progress
mycli dynamodb migrate \
--source-table Source \
--target-table Target \
--from-version 001 \
--to-version 002 \
--page-size 100 \
--transform-concurrency 4 \
--progress-interval-ms 2000 \
--force
Config‑first (Docker Compose) — add to getdotenv config:
{
"plugins": {
"dynamodb": {
"local": {
"port": 8000,
"endpoint": "http://localhost:8000",
"start": "docker compose up -d dynamodb",
"stop": "docker compose stop dynamodb",
"status": "docker ps --format '{{.Names}}' | grep -q dynamodb"
}
}
}
}
Usage:
# Start and wait until ready (prints endpoint + export hint)
mycli dynamodb local start
# Status (exit 0 when healthy)
mycli dynamodb local status
# Stop
mycli dynamodb local stop
Embedded fallback (no config commands):
# Install the optional peer to enable the embedded path
npm i -D @karmaniverous/dynamodb-local
# Start and wait until ready using the library, then probe readiness
mycli dynamodb local start
Notes