-- CreateEnum CREATE TYPE "ConversionJobStatus" AS ENUM ('PENDING', 'RUNNING', 'SUCCEEDED', 'FAILED'); -- CreateTable CREATE TABLE "conversion_jobs" ( "id" TEXT NOT NULL, "owner_id" TEXT NOT NULL, "kind" TEXT NOT NULL, "source_format" TEXT NOT NULL, "target_format" TEXT NOT NULL, "standalone" BOOLEAN NOT NULL DEFAULT true, "input" BYTEA NOT NULL, "status" "ConversionJobStatus" NOT NULL DEFAULT 'PENDING', "attempts" INTEGER NOT NULL DEFAULT 0, "result" BYTEA, "result_mime_type" TEXT, "error_code" TEXT, "locked_at" TIMESTAMP(3), "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, "updated_at" TIMESTAMP(3) NOT NULL, CONSTRAINT "conversion_jobs_pkey" PRIMARY KEY ("id") ); -- CreateIndex CREATE INDEX "conversion_jobs_status_created_at_idx" ON "conversion_jobs"("status", "created_at"); -- AddForeignKey ALTER TABLE "conversion_jobs" ADD CONSTRAINT "conversion_jobs_owner_id_fkey" FOREIGN KEY ("owner_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE;