▀▀█ ▀ ▄ ▄▄ ▄▄▄ █ ▄ ▄ ▄▄▄ █▀ ▀ █▀ █ █ █ █ █ █ █▀▀▀▀ █ █ █ █ █ ▀█▄▄▀ ▀▄▄ ▀▄▄▀█ ▄▄█▄▄
relui is a web interface for managing the release process of Go.
Run the command with the appropriate libpq-style environment variables set.
PGHOST=localhost PGDATABASE=relui-dev PGUSER=postgres go run ./
Alternatively, using docker:
make dev
Create or edit SQL files in internal/relui/queries
. After editing the query, run sqlc generate
in this directory. The internal/relui/db
package contains the generated code.
See sqlc documentation for further details.
Migrations are managed using github.com/golang-migrate/migrate
.
go run -tags pgx github.com/golang-migrate/migrate/v4/cmd/migrate \ create \ --dir ../../internal/relui/migrations/ \ -ext sql \ my_fancy_migration # alternatively, install the migrate command with pgx support.
Migrations are automatically ran on application launch. Updating schema.sql, as documented below, will also run migrations. “Down” migrations are not automatically run and must be manually invoked in psql
.
schema.sql
is updated by running the following command in this directory:
make schema.sql
Run go test with the appropriate libpq-style environment variables set. If the database connection fails, database integration tests will be skipped. If PGDATABASE is unset, relui-test is created, migrated, and used by default.
PGHOST=localhost PGUSER=postgres go test -v ./... ../../internal/relui/...
Alternatively, using docker:
make test