CREATE TABLE IF NOT EXISTS submissions ( id UUID PRIMARY KEY DEFAULT uuidv7(), project_id UUID NOT NULL REFERENCES projects(id) ON DELETE CASCADE, commit_id UUID NOT NULL REFERENCES commits(id) ON DELETE CASCADE, user_id UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE, status SMALLINT NOT NULL DEFAULT 1, reviewed_by UUID REFERENCES users(id) ON DELETE SET NULL, reviewed_at TIMESTAMPTZ, review_note TEXT, content TEXT, is_deleted BOOLEAN NOT NULL DEFAULT false, created_at TIMESTAMPTZ NOT NULL DEFAULT NOW() ); CREATE INDEX idx_submissions_commit_id ON submissions (commit_id); CREATE INDEX idx_submissions_moderator_queue ON submissions (status, created_at ASC); CREATE INDEX idx_submissions_user_history ON submissions (user_id, status, created_at DESC); CREATE INDEX idx_submissions_project_queue ON submissions (project_id, created_at DESC);