dbmate
π A lightweight, framework-agnostic database migration tool.
File Explorer
Download Latest Version (.zip)- devcontainer.json
- bug.md
- config.yml
- ci.yml
- dependabot.yml
- post-release.yml
- sync-go-toolchain.yml
- dependabot.yml
- extensions.json
- settings.json
- 20151129054053_test_migration.sql
- 20200227231541_test_posts.sql
- .gitignore
- README.md
- .env
- .gitignore
- first.txt
- invalid.txt
- second.txt
- db.go
- db_test.go
- driver.go
- migration.go
- migration_test.go
- version.go
- dbtest.go
- dbutil.go
- dbutil_test.go
- bigquery.go
- bigquery_test.go
- database_atomic.xml
- docker_related_config.xml
- database_atomic_drop_sync.xml
- default_profile.xml
- config.xml
- users.xml
- database_atomic.xml
- docker_related_config.xml
- database_atomic_drop_sync.xml
- default_profile.xml
- config.xml
- users.xml
- clickhouse.go
- clickhouse_cluster_test.go
- clickhouse_test.go
- clickhouse_testutils_test.go
- cluster_parameters.go
- cluster_parameters_test.go
- mysql.go
- mysql_test.go
- postgres.go
- postgres_test.go
- sqlite.go
- sqlite_test.go
- 20151129054053_test_migration.sql
- 20200227231541_test_posts.sql
- cli.ts
- index.ts
- resolveBinary.ts
- package.json
- tsconfig.json
- package.json
- README.md
- .npmrc
- eslint.config.mjs
- generate.ts
- package-lock.json
- package.json
- publish.ts
- README.md
- tsconfig.eslint.json
- tsconfig.json
- .gitignore
- .golangci.yml
- .prettierrc.json
- docker-compose.supavisor.yml
- docker-compose.yml
- Dockerfile
- go.mod
- go.sum
- LICENSE
- main.go
- main_cgo.go
- main_test.go
- Makefile
- README.md
- RELEASING.md
- tsconfig.eslint.json
# Installation Guide
git clone https://github.com/amacneil/dbmate
Downloads the entire project code from GitHub to your computer.
cd dbmate
Moves into the project folder you just downloaded.
2. Official Install Script
Easy Recommendedbrew install dbmate
Installs the pre-built package via Homebrew β no source build required.
scoop install dbmate
Installs directly via Scoop (Windows).
Pulled directly from this repo's README.
3. Docker
Easy- Git Needed to download the project code from GitHub.
- Docker Desktop Needed to build and run containers. Install it and keep it running in the background.
docker run --rm -it --network=host ghcr.io/amacneil/dbmate --help
Runs the built image as an actual container.
docker run --rm -it --network=host -v "$(pwd)/db:/db" ghcr.io/amacneil/dbmate new create_users_table
Runs the built image as an actual container.
$ make docker-all
Type this command into your terminal and run it.
$ make docker-sh
Type this command into your terminal and run it.
Pulled directly from this repo's README.
4. Node.js
Easynpm install --save-dev dbmate
Downloads and installs the libraries listed in package.json.
Pulled directly from this repo's README.
5. Go
Mediumgo build ./...
Compiles the Go program into an executable.
go run .
Runs the Go program directly without a separate build step.
6. Make
Medium- Git Needed to download the project code from GitHub.
- Make Usually pre-installed on Linux/macOS. On Windows, install separately (e.g. via MSYS2 or WSL).
make
Compiles the code based on the generated build configuration to produce an executable.
