initialize-local-dynamo
v1.0.8
Published
Script to create docker image with a local version of dynamo pre-seeded with data for testing.
Downloads
11
Maintainers
Readme
initialize-local-dynamo
Seeds a local docker instance with data and packages it into a docker container
Start Dynamo
Pulls an empty copy of a local DynamoDb docker container and starts it.
index.StartDynamo({
InitializationType: index.InitializationType.SharedDb),
port: 8000
})
SeedDynamo
Given a directory containing table definitions this creates all tables and seeds the data.
index.SeedDynamo(directoryPath);
Each file should contain the definition for a single table and export two variables:
table_params
- a single object containing the table definitionupdates
- an array of data points for the table
The format for table_params and updates objects are the same as for performing actions via the NodeJS AWS SDK. An example of this can be found in the integration tests.
SaveChanges
Commits the seeded data into a docker image which can be persisted in a docker repository.
var repository = "chagedorn/initialize-local-dynamo";
var tag = "test";
index.SaveChanges(repository, tag)
Example
Putting it all together these can be chained together:
var seeding = require('initialize-local-dynamo');
var tableDirectory = __dirname + '/tables';
var repository = "chagedorn/initialize-local-dynamo";
var tag = "test";
seeding.StartDynamo({
InitializationType: index.InitializationType.SharedDb),
port: 8000
})
.then(function() {
return seeding.SeedDynamo(tableDirectory);
})
.then(function() {
return seeding.SaveChanges(repository, tag);
})
.catch(function(err) {
console.log(err);
throw Error(err);
});