CLI-friendly package for PostgreSQL migrations management.
Requires Go Modules enabled.
go get github.com/lawzava/go-pg-migrate/v2
Initialize the migrate
with options payload where choices are:
-
DatabaseURI
database connection string. In a format ofpostgres://user:password@host:port/database?sslmode=disable
. -
VersionNumberToApply
uint value of a migration number up to which the migrations should be applied. When the requested migration number is lower than currently applied migration number it will run backward migrations, otherwise it will run forward migrations. -
PrintVersionAndExit
if true, the currently applied version number will be printed into stdout and the migrations will not be applied. -
ForceVersionWithoutMigrations
if true, the migrations will not be applied, but they will be registered as applied up to the specified version number. -
RefreshSchema
if true, public schema will be dropped and recreated before the migrations are applied. Useful for frequent testing and CI environments.
You will find the example in examples directory. The example is CLI-friendly and can be used as a base for CLI-based migrations utility.