Skip to content
assafkamil edited this page Feb 1, 2021 · 2 revisions

Flyway is a widely used DB schema migration tool. Schema changes are usually committed side-by-side with the code/ORM changes which expect the new schema. Flyway maintains a schema version within the DB and is responsible for updating the DB schema to the latest version.

In a secured AWS environment, the database usually resides on a private RDS instance, shielded from the outside world, making it hard for CI/CD and deployment tools to access the database instance for running the migration scripts.

flyway-lambda wraps the Flyway executable within a Java AWS Lambda, ready to be deployed within the RDS VPC. Running the Flyway migration is now as easy as invoking the Lambda with the right configuration.

For migration scripts access, flyway-lambda offers to either pull the migration scripts from a Git repository (requires repo credentials) or from a predefined S3 bucket.

flyway-lambda offers a rich set of configuration options including:

The following precedence resolves configuration options:

  • Lambda invocation payload
  • AWS Secret Manager's secrets (for sensitive data)
  • Environment variables