29 lines
979 B
SQL
29 lines
979 B
SQL
CREATE TYPE "job_status" AS ENUM ('pending', 'processing');
|
|
CREATE TABLE "jobs" (
|
|
"id" BIGINT NOT NULL GENERATED BY DEFAULT AS IDENTITY,
|
|
"event_id" BIGINT NOT NULL,
|
|
"repo" TEXT NOT NULL,
|
|
"pr" BIGINT NOT NULL,
|
|
"payload" JSONB NOT NULL,
|
|
"status" "job_status" NOT NULL,
|
|
"created_at" TIMESTAMPTZ(6) NOT NULL,
|
|
PRIMARY KEY ("id")
|
|
);
|
|
CREATE UNIQUE INDEX "index_jobs_by_event_id" ON "jobs" ("event_id");
|
|
CREATE INDEX "index_jobs_by_status" ON "jobs" ("status");
|
|
CREATE TABLE "reviews" (
|
|
"id" BIGINT NOT NULL GENERATED BY DEFAULT AS IDENTITY,
|
|
"event_id" BIGINT NOT NULL,
|
|
"repo" TEXT NOT NULL,
|
|
"pr" BIGINT NOT NULL,
|
|
"ok" BOOLEAN NOT NULL,
|
|
"model" TEXT NOT NULL,
|
|
"markdown" TEXT NOT NULL,
|
|
"cost" DOUBLE PRECISION,
|
|
"comments" BIGINT NOT NULL,
|
|
"duration_ms" BIGINT NOT NULL,
|
|
"completed_at" TIMESTAMPTZ(6) NOT NULL,
|
|
PRIMARY KEY ("id")
|
|
);
|
|
CREATE UNIQUE INDEX "index_reviews_by_event_id" ON "reviews" ("event_id");
|