An open API service indexing awesome lists of open source software.

https://github.com/dwin/dbmate-action

Github Action for Dbmate database migration tool
https://github.com/dwin/dbmate-action

database-migration database-migrations dbmate github-action github-actions github-actions-docker

Last synced: 24 days ago
JSON representation

Github Action for Dbmate database migration tool

Awesome Lists containing this project

README

          

# dbmate-action

This repository contains a GitHub Action for running [Dbmate](https://github.com/amacneil/dbmate), used
for database migrations.

It is based on the [official Github Docker image](https://github.com/amacneil/dbmate/pkgs/container/dbmate),
which is based on Alpine Linux.

## Inputs

### `command`

The command to run. Default `"--help"`, but you'll likely want to use `"up"`.

See [Dbmate documentation](https://github.com/amacneil/dbmate#commands) for commands.

## Example usage

See [https://github.com/amacneil/dbmate#command-line-options](https://github.com/amacneil/dbmate#command-line-options)
for more configuration options to be passed by environment variables.

### Basic Usage

Uses the default command `up` and does not check in the database schema.

```yaml
...
steps:
- name: "Run migrations"
uses: dwin/dbmate-action@v1.15
with:
command: 'up'
env:
DATABASE_URL: postgres://postgres:changeme@postgres:5432/postgres # or ${{ secrets.DATABASE_URL }}
DBMATE_MIGRATIONS_DIR: "./migrations"
DBMATE_NO_DUMP_SCHEMA: "true"
DBMATE_WAIT: "true"
DBMATE_WAIT_TIMEOUT: "30s"
...
```

### Check in the database schema

```yaml
...
steps:
- name: "Run migrations"
uses: dwin/dbmate-action@v1.15
with:
command: 'up'
env:
DATABASE_URL: ${{ secrets.DATABASE_URL }}
DBMATE_MIGRATIONS_DIR: "./migrations"
DBMATE_SCHEMA_FILE: "./schema.sql"
DBMATE_WAIT: "true"
DBMATE_WAIT_TIMEOUT: "30s"
- name: "Add & Commit latest schema"
uses: EndBug/add-and-commit@v9
with:
default_author: github_actions
...
```