From dacdd3b8266703dbfff5e134d6056ecf9f60e661 Mon Sep 17 00:00:00 2001 From: Jan Eitzinger Date: Sun, 25 May 2025 10:49:17 +0200 Subject: [PATCH] Add sqlc --- db/query.sql | 25 +++++++++++++++++++++++++ db/schema.sql | 5 +++++ sqlc.yml | 9 +++++++++ 3 files changed, 39 insertions(+) create mode 100644 db/query.sql create mode 100644 db/schema.sql create mode 100644 sqlc.yml diff --git a/db/query.sql b/db/query.sql new file mode 100644 index 0000000..212a226 --- /dev/null +++ b/db/query.sql @@ -0,0 +1,25 @@ +-- name: GetAuthor :one +SELECT * FROM authors +WHERE id = ? LIMIT 1; + +-- name: ListAuthors :many +SELECT * FROM authors +ORDER BY name; + +-- name: CreateAuthor :one +INSERT INTO authors ( + name, bio +) VALUES ( + ?, ? +) +RETURNING *; + +-- name: UpdateAuthor :exec +UPDATE authors +set name = ?, +bio = ? +WHERE id = ?; + +-- name: DeleteAuthor :exec +DELETE FROM authors +WHERE id = ?; diff --git a/db/schema.sql b/db/schema.sql new file mode 100644 index 0000000..22fc099 --- /dev/null +++ b/db/schema.sql @@ -0,0 +1,5 @@ +CREATE TABLE authors ( + id INTEGER PRIMARY KEY, + name TEXT NOT NULL, + bio TEXT +); diff --git a/sqlc.yml b/sqlc.yml new file mode 100644 index 0000000..9a9b329 --- /dev/null +++ b/sqlc.yml @@ -0,0 +1,9 @@ +version: "2" +sql: + - engine: "sqlite" + queries: "db/query.sql" + schema: "db/schema.sql" + gen: + go: + package: "repository" + out: "internal/repository"