{"id":47443,"library":"east-dynamodb","title":"east-dynamodb: DynamoDB adapter for east migration tool","description":"AWS DynamoDB adapter for the east migration tool (version 1.0.1, stable). It relies on AWS SDK v3 and provides a plugin to run database migrations on DynamoDB tables with composite primary keys. Key differentiators: lightweight, no transactions (DynamoDB limitation), supports environment variable configuration, and requires manual installation of peer dependencies (@aws-sdk/client-dynamodb and @aws-sdk/util-dynamodb). Release cadence: infrequent updates. Compared to alternatives like dynamodb-migrate or node-dynamodb-migrate, east-dynamodb integrates tightly with east's migration framework.","status":"active","version":"1.0.1","language":"javascript","source_language":"en","source_url":"https://github.com/cstar-industries/east-dynamodb","tags":["javascript","database","db","migrate","migration","aws","dynamodb","ddb","east"],"install":[{"cmd":"npm install east-dynamodb","lang":"bash","label":"npm"},{"cmd":"yarn add east-dynamodb","lang":"bash","label":"yarn"},{"cmd":"pnpm add east-dynamodb","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Required to interact with DynamoDB (peer dependency)","package":"@aws-sdk/client-dynamodb","optional":false},{"reason":"Required for marshalling/unmarshalling DynamoDB items (peer dependency)","package":"@aws-sdk/util-dynamodb","optional":false}],"imports":[{"note":"CommonJS module; not ESM. Use require().","wrong":"import adapter from 'east-dynamodb';","symbol":"default","correct":"const adapter = require('east-dynamodb');"},{"note":"Default export is the adapter object.","wrong":"import { adapter } from 'east-dynamodb';","symbol":"adapter","correct":"const adapter = require('east-dynamodb');"},{"note":"No need to import manually; east loads the adapter automatically.","wrong":"","symbol":"migrate / rollback functions","correct":"// Not exported; used internally by east via .eastrc configuration"}],"quickstart":{"code":"// 1. Install dependencies\n// npm install --save-dev east east-dynamodb @aws-sdk/client-dynamodb @aws-sdk/util-dynamodb\n\n// 2. Create .eastrc file\n// {\n//   \"adapter\": \"east-dynamodb\",\n//   \"tableName\": \"MyTable\",\n//   \"dynamoDB\": {\n//     \"region\": \"us-east-1\"\n//   }\n// }\n\n// 3. Create a migration file (east create my_migration)\n// migrations/1_my_migration.js\nmodule.exports = {\n  migrate: async function(client) {\n    // client is a DynamoDBClient instance\n    await client.putItem({\n      TableName: 'MyTable',\n      Item: { PK: { S: 'user' }, SK: { S: '123' }, name: { S: 'Alice' } }\n    });\n  },\n  rollback: async function(client) {\n    await client.deleteItem({\n      TableName: 'MyTable',\n      Key: { PK: { S: 'user' }, SK: { S: '123' } }\n    });\n  }\n};\n\n// 4. Run migrations: npx east migrate","lang":"javascript","description":"Shows installation, .eastrc config, and a sample migration file with migrate/rollback using DynamoDBClient."},"warnings":[{"fix":"Run: npm install --save-dev @aws-sdk/client-dynamodb @aws-sdk/util-dynamodb","message":"Peer dependencies must be installed separately; npm will not install them automatically.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Use a table with both PK and SK fields. Contact maintainer for simple key support.","message":"Only tables with composite primary key (partition key + sort key) are supported. Tables with simple primary key will break.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Do not rely on indexes for migration queries. Ensure your table has no local secondary indexes or that migration items are ignored by them.","message":"Secondary indexes are not supported. Migration items use only primary key fields.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Disconnect all services from the table during migrations. Backup your table before migrating.","message":"DynamoDB does not support transactions; concurrent writes during migration may cause inconsistent state.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Use @aws-sdk/client-dynamodb v3, not aws-sdk v2.","message":"AWS SDK v2 is not supported; package uses v3.","severity":"deprecated","affected_versions":">=1.0.0"}],"env_vars":null,"search_vec":"'/client-dynamodb':63 '/util-dynamodb':68 '1.0.1':19 'adapt':5,12 'altern':75 'aw':10,24,61,66,100 'aws-sdk':60,65 'cadenc':70 'compar':73 'composit':39 'configur':52 'databas':33,96 'db':97 'ddb':102 'depend':59 'differenti':43 'dynamodb':3,4,11,36,47,78,83,87,101 'dynamodb-migr':77 'east':2,7,15,86,91,103 'east-dynamodb':1,85 'environ':50 'framework':94 'infrequ':71 'instal':56 'integr':88 'javascript':95 'key':41,42 'lightweight':44 'like':76 'limit':48 'manual':55 'migrat':8,16,34,79,84,93,98,99 'node':82 'node-dynamodb-migr':81 'peer':58 'plugin':30 'primari':40 'provid':28 'releas':69 'reli':22 'requir':54 'run':32 'sdk':25,62,67 'stabl':20 'support':49 'tabl':37 'tight':89 'tool':9,17 'transact':46 'updat':72 'v3':26 'variabl':51 'version':18","created_at":"2026-06-07T16:51:33.112751+00:00","updated_at":"2026-06-07T16:51:33.112751+00:00","problems":[{"fix":"Run: npm install --save-dev @aws-sdk/client-dynamodb","cause":"Peer dependency not installed.","error":"Error: Cannot find module '@aws-sdk/client-dynamodb'"},{"fix":"Use a table with both partition key and sort key, or customize partitionKey/sortKey in .eastrc.","cause":"Table has simple primary key (only partition key), but adapter expects composite key.","error":"ValidationException: The provided key element does not match the schema"},{"fix":"Run: npm install --save-dev east","cause":"east is not installed.","error":"Error: Cannot find module 'east'"},{"fix":"Consult east documentation for correct CLI usage: npx east create <name>","cause":"Using wrong east API or version mismatch.","error":"TypeError: east.create is not a function"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/cstar-industries/east-dynamodb","github":"https://github.com/cstar-industries/east-dynamodb","docs":null,"changelog":null,"pypi":null,"npm":"east-dynamodb","openapi_spec":null,"status_page":null,"smithery":null,"categories":["database","devops"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-07","next_check":"2026-09-05","install_tag":null}}