CREATE TABLE IF NOT EXISTS "pr_review_requests" (
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid(),
"pull_request_id" uuid NOT NULL REFERENCES "pull_requests"("id") ON DELETE CASCADE,
"reviewer_id" uuid NOT NULL REFERENCES "users"("id") ON DELETE CASCADE,
"requested_by" uuid REFERENCES "users"("id") ON DELETE SET NULL,
"source" text NOT NULL DEFAULT 'manual',
"state" text NOT NULL DEFAULT 'pending',
"requested_at" timestamp NOT NULL DEFAULT now(),
"resolved_at" timestamp
);
CREATE UNIQUE INDEX IF NOT EXISTS "pr_review_requests_pr_reviewer_unique"
ON "pr_review_requests" ("pull_request_id", "reviewer_id");
CREATE INDEX IF NOT EXISTS "pr_review_requests_reviewer_state_idx"
ON "pr_review_requests" ("reviewer_id", "state");
|