Generate connect-go server from SQL. If you’re searching for a SQLC plugin, use sqlc-gen-go-server.
go install github.com/sqlc-dev/sqlc/cmd/sqlc@latest
go install github.com/bufbuild/buf/cmd/buf@latest
go install github.com/walterwanderley/sqlc-connect@latest
- Create a queries.sql file:
--queries.sql
CREATE TABLE authors (
id BIGSERIAL PRIMARY KEY,
name text NOT NULL,
bio text,
created_at TIMESTAMP
);
-- name: GetAuthor :one
SELECT * FROM authors
WHERE id = $1 LIMIT 1;
-- name: ListAuthors :many
SELECT * FROM authors
ORDER BY name;
-- name: CreateAuthor :one
INSERT INTO authors (
name, bio, created_at
) VALUES (
$1, $2, $3
)
RETURNING *;
-- name: DeleteAuthor :exec
DELETE FROM authors
WHERE id = $1;
- Create a sqlc.yaml file
version: "2"
sql:
- schema: "./queries.sql"
queries: "./queries.sql"
engine: "postgresql"
gen:
go:
out: "internal/author"
- Execute sqlc
sqlc generate
- Execute sqlc-connect
sqlc-connect -m "authors"
- Run the generated server
go run . -db [Database Connection URL] -dev
- Enjoy!
or
go install github.com/fullstorydev/grpcui/cmd/grpcui@latest
grpcui -plaintext localhost:5000
-
It's safe to edit any generated code that doesn't have the
DO NOT EDIT
indication at the very first line. -
After modify a SQL file, execute these commands below:
sqlc generate
go generate
- After modify a *.proto file, execute
buf generate
.