{"id":47439,"library":"dynamo-migrate","title":"dynamo-migrate","description":"Migration tool for AWS DynamoDB, version 1.0.7. It provides a simple CLI to create, apply, and revert database schema or data migrations stored as JavaScript files. Designed for Node.js >= 5.5.0 and uses environment variables for AWS credentials, table prefix, and DynamoDB endpoint. Differentiates from other DynamoDB migration tools by offering a lightweight, file-based approach with support for custom migration folders and table names, and optional babel-register for ES6 syntax. Release cadence appears low; package has not been updated recently.","status":"maintenance","version":"1.0.7","language":"javascript","source_language":"en","source_url":"https://github.com/mapleinside/dynamo-migrate","tags":["javascript","dynamodb","aws","migration"],"install":[{"cmd":"npm install dynamo-migrate","lang":"bash","label":"npm"},{"cmd":"yarn add dynamo-migrate","lang":"bash","label":"yarn"},{"cmd":"pnpm add dynamo-migrate","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Required to interact with DynamoDB.","package":"aws-sdk","optional":false}],"imports":[{"note":"The package exposes a CLI binary, not a library. Use the installed binary directly or via npm scripts.","wrong":"npx migrate create \"name\"","symbol":"migrate CLI","correct":"./node_modules/.bin/migrate create \"name\""}],"quickstart":{"code":"npm install dynamo-migrate\nexport DYNAMO_PREFIX=myapp_\nexport AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}\nexport AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}\nexport AWS_REGION=us-west-2\n./node_modules/.bin/migrate create \"add users table\"\n# then edit migrations/001-add-users-table.js\nexport const up = async (DynamoDB) => {\n  const params = {\n    TableName: `${process.env.DYNAMO_PREFIX}users`,\n    KeySchema: [{ AttributeName: 'id', KeyType: 'HASH' }],\n    AttributeDefinitions: [{ AttributeName: 'id', AttributeType: 'S' }],\n    ProvisionedThroughput: { ReadCapacityUnits: 5, WriteCapacityUnits: 5 }\n  };\n  await DynamoDB.createTable(params).promise();\n};\nexport const down = async (DynamoDB) => {\n  await DynamoDB.deleteTable({ TableName: `${process.env.DYNAMO_PREFIX}users` }).promise();\n};\n./node_modules/.bin/migrate up\n./node_modules/.bin/migrate down 001-add-users-table","lang":"javascript","description":"Install and run a migration: create, edit, apply up, and revert down."},"warnings":[{"fix":"Set AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY, or use a credential chain if available.","message":"Requires AWS credentials via environment variables; not suitable for IAM roles or Lambda environments without additional setup.","severity":"gotcha","affected_versions":"*"},{"fix":"Always set DYNAMO_PREFIX environment variable, e.g., 'myapp_'.","message":"Table prefix is mandatory via DYNAMO_PREFIX; migrations table name is prefixed as well.","severity":"breaking","affected_versions":"*"}],"env_vars":null,"search_vec":"'1.0.7':10 '5.5.0':33 'appear':79 'appli':18 'approach':59 'aw':7,39,89 'babel':72 'babel-regist':71 'base':58 'cadenc':78 'cli':15 'creat':17 'credenti':40 'custom':63 'data':24 'databas':21 'design':30 'differenti':46 'dynamo':2 'dynamo-migr':1 'dynamodb':8,44,49,88 'endpoint':45 'environ':36 'es6':75 'file':29,57 'file-bas':56 'folder':65 'javascript':28,87 'lightweight':55 'low':80 'migrat':3,4,25,50,64,90 'name':68 'node.js':32 'offer':53 'option':70 'packag':81 'prefix':42 'provid':12 'recent':86 'regist':73 'releas':77 'revert':20 'schema':22 'simpl':14 'store':26 'support':61 'syntax':76 'tabl':41,67 'tool':5,51 'updat':85 'use':35 'variabl':37 'version':9","created_at":"2026-06-07T16:51:31.671221+00:00","updated_at":"2026-06-07T16:51:31.671221+00:00","problems":[{"fix":"export DYNAMO_PREFIX=your_prefix_","cause":"The DYNAMO_PREFIX env var is not set.","error":"Missing required environment variable: DYNAMO_PREFIX"},{"fix":"Ensure IAM policy includes dynamodb:CreateTable, dynamodb:DeleteTable, etc.","cause":"AWS credentials lack permissions for DynamoDB operations.","error":"AccessDeniedException: User: arn:aws:iam::... is not authorized to perform: dynamodb:CreateTable"}],"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/mapleinside/dynamo-migrate#readme","github":"https://github.com/mapleinside/dynamo-migrate","docs":null,"changelog":null,"pypi":null,"npm":"dynamo-migrate","openapi_spec":null,"status_page":null,"smithery":null,"categories":["database"],"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}}