Files
member-console/internal/fedwiki/queries/sites.sql
Christian Galo fb02411f35 Introduce DB schema separation (core and fedwiki)
Add a goose migration to create core and fedwiki schemas and move
existing
domain tables using ALTER TABLE IF EXISTS. Set connection search_path to
"core, public" after successful DB ping. Update FedWiki SQL and
sqlc.yaml to
use fedwiki.sites and include db migrations for schema awareness. Add
design
docs, specs, and tasks for schema-namespacing and the migration plan.
2026-03-30 15:16:43 -05:00

42 lines
958 B
SQL

-- name: CreateSite :one
INSERT INTO fedwiki.sites (workspace_id, domain, is_custom_domain)
VALUES ($1, $2, $3)
RETURNING *;
-- name: GetSiteByID :one
SELECT * FROM fedwiki.sites
WHERE site_id = $1;
-- name: GetSiteByDomain :one
SELECT * FROM fedwiki.sites
WHERE domain = $1;
-- name: ListSitesByWorkspace :many
SELECT * FROM fedwiki.sites
WHERE workspace_id = $1
ORDER BY domain ASC;
-- name: ListAllSites :many
SELECT * FROM fedwiki.sites
ORDER BY domain ASC;
-- name: DeleteSite :exec
DELETE FROM fedwiki.sites
WHERE site_id = $1;
-- name: DeleteSiteByDomain :exec
DELETE FROM fedwiki.sites
WHERE domain = $1;
-- name: CountSitesByWorkspace :one
SELECT COUNT(*) AS count FROM fedwiki.sites
WHERE workspace_id = $1;
-- name: UpsertSiteByDomain :one
INSERT INTO fedwiki.sites (workspace_id, domain, is_custom_domain)
VALUES ($1, $2, $3)
ON CONFLICT(domain) DO UPDATE SET
workspace_id = excluded.workspace_id,
updated_at = NOW()
RETURNING *;