-- name: CreateContentVersion :exec INSERT INTO content_versions (content_id, site_id, value, type, created_by) VALUES (sqlc.arg(content_id), sqlc.arg(site_id), sqlc.arg(value), sqlc.arg(type), sqlc.arg(created_by)); -- name: GetContentVersionHistory :many SELECT version_id, content_id, site_id, value, type, created_at, created_by FROM content_versions WHERE content_id = sqlc.arg(content_id) AND site_id = sqlc.arg(site_id) ORDER BY created_at DESC LIMIT sqlc.arg(limit_count); -- name: GetContentVersion :one SELECT version_id, content_id, site_id, value, type, created_at, created_by FROM content_versions WHERE version_id = sqlc.arg(version_id); -- name: GetAllVersionsForSite :many SELECT cv.version_id, cv.content_id, cv.site_id, cv.value, cv.type, cv.created_at, cv.created_by, c.value as current_value FROM content_versions cv LEFT JOIN content c ON cv.content_id = c.id AND cv.site_id = c.site_id WHERE cv.site_id = sqlc.arg(site_id) ORDER BY cv.created_at DESC LIMIT sqlc.arg(limit_count); -- name: DeleteOldVersions :exec DELETE FROM content_versions WHERE created_at < sqlc.arg(created_before) AND site_id = sqlc.arg(site_id);