Files
flatrender/backend/db/migrations/30_render_snapshot_jobs.sql
T

29 lines
1.5 KiB
SQL
Raw Normal View History

-- =====================================================================
-- RENDER SCHEMA — scene snapshot jobs
-- Async "render one frame per scene from After Effects" jobs. A node claims a
-- queued snapshot, runs aerender for the scene's comp at a single frame, uploads
-- the still to object storage, and posts back the image URL. render-svc then
-- writes it onto content.scenes.snapshot_url (same DB, cross-schema) so the
-- studio scene bar + admin show a real thumbnail.
-- =====================================================================
SET search_path TO render, public;
CREATE TABLE IF NOT EXISTS snapshot_jobs (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
project_id UUID NOT NULL, -- content project (template variant)
scene_id UUID NOT NULL, -- content scene the snapshot belongs to
scene_key TEXT NOT NULL,
comp_name TEXT NOT NULL DEFAULT '', -- AE comp to render (scene key / render comp)
frame INT NOT NULL DEFAULT 0, -- frame to capture
status TEXT NOT NULL DEFAULT 'queued', -- queued | running | done | error
node_id UUID,
image_url TEXT,
error TEXT,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE INDEX IF NOT EXISTS idx_snapshot_jobs_status ON snapshot_jobs(status, created_at);
CREATE INDEX IF NOT EXISTS idx_snapshot_jobs_project ON snapshot_jobs(project_id, created_at DESC);