DynamoMigration
Simple version management tool for migration file of DynamoDB.
Installation
The package can be installed by adding :dynamo_migration to your list of dependencies in mix.exs along with your preferred JSON codec, HTTP client and ExAwsDynamo.
def deps do
[
{:dynamo_migration, "~> 0.1.0"},
{:ex_aws_dynamo, "~> 4.0"},
{:jason, "~> 1.0"},
{:hackney, "~> 1.9"}
]
end
ExAws uses Jason as its default JSON codec - if you intend to use a different codec, see ex_aws for more information about setting a custom :json_codec.
See also ExAwsDynamo.
Usage
-
Create migrations table.
$ mix dynamo.setup -
Generate and rewrite migration file.
$ mix dynamo.gen.migration create_tests_table# priv/dynamo/migrations/20220130083004_create_tests_table.exsdefmodule Dynamo.Migrations.CreateTestsTable dodef change do# Rewrite any migration code.# Examples.ExAws.Dynamo.create_table("Tests",[id: :hash],%{id: :number},1,1,:provisioned)|> ExAws.request!()endend -
Migrate.
# Executes `priv/dynamo/migrations/*` if there had not migrated.$ mix dynamo.migrate