- go get github.com/riverqueue/river@v0.37.0 + riverpgxv5@v0.37.0
- append ListOrphanFiles :many query to files.sql (orphan tablo_files rows)
- regenerate sqlc: ListOrphanFilesRow{ID, TabloID, S3Key} exported
- go build ./... exits 0
27 lines
913 B
SQL
27 lines
913 B
SQL
-- name: InsertTabloFile :one
|
|
INSERT INTO tablo_files (tablo_id, s3_key, filename, content_type, size_bytes)
|
|
VALUES ($1, $2, $3, $4, $5)
|
|
RETURNING id, tablo_id, s3_key, filename, content_type, size_bytes, created_at;
|
|
|
|
-- name: ListFilesByTablo :many
|
|
SELECT id, tablo_id, s3_key, filename, content_type, size_bytes, created_at
|
|
FROM tablo_files
|
|
WHERE tablo_id = $1
|
|
ORDER BY created_at DESC;
|
|
|
|
-- name: GetTabloFileByID :one
|
|
SELECT id, tablo_id, s3_key, filename, content_type, size_bytes, created_at
|
|
FROM tablo_files
|
|
WHERE id = $1 AND tablo_id = $2;
|
|
|
|
-- name: DeleteTabloFile :exec
|
|
DELETE FROM tablo_files WHERE id = $1 AND tablo_id = $2;
|
|
|
|
-- Find tablo_files rows whose owning tablo no longer exists.
|
|
-- Used by the orphan-file cleanup worker (Phase 6 WORK-02).
|
|
-- name: ListOrphanFiles :many
|
|
SELECT id, tablo_id, s3_key
|
|
FROM tablo_files tf
|
|
WHERE NOT EXISTS (
|
|
SELECT 1 FROM tablos t WHERE t.id = tf.tablo_id
|
|
);
|