- Make sure you have a running Docker daemon (Install for MacOS)
- Use a version of Go that supports modules (e.g. Go 1.11+)
- Fork this repo and
git clone
somewhere to$GOPATH/src/github.com/golang-migrate/migrate
- Ensure that Go modules are enabled (e.g. your repo path or the
GO111MODULE
environment variable are set correctly)
- Ensure that Go modules are enabled (e.g. your repo path or the
- Install golangci-lint
- Run the linter:
golangci-lint run
- Confirm tests are working:
make test-short
- Write awesome code ...
make test
to run all tests against all database versions- Push code and open Pull Request
Some more helpful commands:
- You can specify which database/ source tests to run:
make test-short SOURCE='file go_bindata' DATABASE='postgres cassandra'
- After
make test
, runmake html-coverage
which opens a shiny test coverage overview. make build-cli
builds the CLI in directorycli/build/
.make list-external-deps
lists all external dependencies for each packagemake docs && make open-docs
opens godoc in your browser,make kill-docs
kills the godoc server. Repeatedly callmake docs
to refresh the server.- Set the
DOCKER_API_VERSION
environment variable to the latest supported version if you get errors regarding the docker client API version being too new.