sqlc generates type-safe code from SQL. Here's how it works:
- You define the schema in
schema.sql. - You write your queries in
query.sqlusing regular SQL. - You run
sqlc generateto generate Go code with type-safe interfaces to those queries. - You write application code that calls the generated code.
Only those who need to create or update SQL queries will need to have sqlc installed on their system. It is not a dependency required to build the codebase.
Run from the repository root:
make sqlcOr manually:
./bin/sqlc generateTo upgrade sqlc to a specific version, edit tools/go.mod and run:
cd tools && go get github.com/sqlc-dev/sqlc@latest && go mod tidyThen reinstall:
rm ./bin/sqlc && make sqlc