Initial commit using sqlc for query generation.

Basic crud ops and join queries to use sqlc, more complex either from
scratch or with a query builder later.
This commit is contained in:
2026-04-23 07:55:40 +02:00
parent f99de930b5
commit f3ccbc95c1
3 changed files with 46 additions and 0 deletions
+25
View File
@@ -0,0 +1,25 @@
-- name: GetUser :one
SELECT * FROM users
WHERE id = $1 LIMIT 1;
-- name: ListUsers :many
SELECT * FROM users
ORDER BY name;
-- name: CreateUser :one
INSERT INTO users (
name, age
) VALUES (
$1, $2
)
RETURNING *;
-- name: UpdateUser :exec
UPDATE users
set name = $2,
age = $3
WHERE id = $1;
-- name: DeleteUser :exec
DELETE FROM users
WHERE id = $1;
+6
View File
@@ -0,0 +1,6 @@
CREATE TABLE users (
id BIGSERIAL PRIMARY KEY,
name text NOT NULL,
age int NOT NULL
);
+15
View File
@@ -0,0 +1,15 @@
version: "2"
sql:
- engine: "postgresql"
queries: "sql/queries.sql"
schema: "sql/schema.sql"
gen:
go:
# 'db' is a standard package name for database logic
package: "db"
out: "internal/db"
sql_package: "pgx/v5"
# Recommended for better Go code:
emit_json_tags: true
emit_interface: true
emit_exact_table_names: false