This github actions installs and sets up the Goose migration tool binary.
name: Migrate
on:
push:
branches: ['main']
jobs:
migrate:
name: Migrate
runs-on: ubuntu-latest
steps:
- uses: actions/setup-go@v5
with:
go-version: '1.20.x'
- uses: actions/checkout@v3
- uses: mscno/setup-goose@v1
- run: goose up
That's it! This workflow will run your migrations using goose.
The action works on Linux and macOS runners. If you'd like support for Windows runners, let us know!
By default, pressly/setup-goose installs the latest released version of goose.
You can select a version with the version parameter:
- uses: mscno/setup-goose@v1
with:
version: v0.14.1
To build and install goose from source using go install, specify version: tip
.
goose is a database migration tool. You manage your database schema by creating incremental SQL or Go scripts.
After installing goose with this action, you can run your migrations with goose up:
- uses: mscno/setup-goose@v1
- run: goose up
You can also run specific migrations with goose up-to , roll back migrations with goose down, and more. See the goose documentation for more information.
The @v0.X in the uses statement refers to the version of the action definition in this repo.
Regardless of what version of the action definition you use, pressly/setup-goose will install the latest released version of goose unless otherwise specified with version:.