For local development, install sqlc
under an alias. We suggest sqlc-dev
.
go build -o ~/go/bin/sqlc-dev ./cmd/sqlc
go test ./...
To run the tests in the examples folder, use the examples
tag.
go test --tags=examples ./...
These tests require locally-running database instances. Run these databases using Docker Compose.
docker compose up -d
The tests use the following environment variables to connect to the database
Variable Default Value
-------------------------
PG_HOST 127.0.0.1
PG_PORT 5432
PG_USER postgres
PG_PASSWORD mysecretpassword
PG_DATABASE dinotest
Variable Default Value
-------------------------
MYSQL_HOST 127.0.0.1
MYSQL_PORT 3306
MYSQL_USER root
MYSQL_ROOT_PASSWORD mysecretpassword
MYSQL_DATABASE dinotest
If you need to update a large number of expected test output in the
internal/endtoend/testdata
directory, run the regenerate
script.
go build -o ~/go/bin/sqlc-dev ./cmd/sqlc
go run scripts/regenerate/main.go
Note that this uses the sqlc-dev
binary, not sqlc
so make sure you have an
up to date sqlc-dev
binary.