Skip to content
archive

GitHub Action

Dbmate action

v1.15 Latest version

Dbmate action

archive

Dbmate action

Run Dbmate database migration tool

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Dbmate action

uses: dwin/dbmate-action@v1.15

Learn more about this action in dwin/dbmate-action

Choose a version

dbmate-action

This repository contains a GitHub Action for running Dbmate, used for database migrations.

It is based on the official Github Docker image, 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 for commands.

Example usage

See 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.

...
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

...
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
...