This is a plugin for the Serverless framework that allows you to manage and run database-agnostic migrations. To do so, it works on top of migrate.
With this plugin you can
migrate
available via the serverless
CLI.SERVERLESS_ROOT_PATH
which points to the root directory of your project.Basically, these migrations can do anything that involves applying I/O changes and undo them. Watch the CHANGELOG to see what has been added to the date.
To get into details, check out the example project of this repository. It contains a README with an explanation about all the valid commands and configuration variables you can use. For starters, this is what you must do to start working right away with migrations:
serverless-migrate-plugin
in your project:npm i serverless-migrate-plugin
plugins
section:plugins:
- serverless-migrate-plugin
custom.migrate
section to your serverless.yml with the parameters you want to override:custom:
migrate:
stateFile: .migrate2
store: ./sample-store
lastRunIndicator: <
noDescriptionText: '?'
ignoreMissing: true
dateFormat: "yyyy-MM-dd hh:mm:ssZ"
templateFile: "my-project-template.js"
environment:
ANOTHER_ENV: overrriden value
You can learn more about these variables in the example.
sls migrate create -n <your-migration-name>
Now you are ready to implement your migrations. Once you have finished, you can run them using sls migrate up
and
sls migrate down
. If you want to know more about any commands just run:
sls migrate <command> --help
It is also recommended that you understand how the migrate library works, like how to create migrations.
This project is licensed under the MIT License - see the LICENSE.md file for details.