CREATE TABLE "launcher_build_jobs" ( "id" UUID NOT NULL, "target" TEXT NOT NULL DEFAULT 'launcher-client', "repository" TEXT, "branch" TEXT NOT NULL DEFAULT 'release', "commit_sha" TEXT, "version" TEXT NOT NULL, "artifact" TEXT NOT NULL, "upload_path" TEXT NOT NULL, "download_url" TEXT NOT NULL, "status" "JobStatus" NOT NULL DEFAULT 'PENDING', "logs" TEXT, "started_at" TIMESTAMPTZ(3), "finished_at" TIMESTAMPTZ(3), "created_at" TIMESTAMPTZ(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, "updated_at" TIMESTAMPTZ(3) NOT NULL, CONSTRAINT "launcher_build_jobs_pkey" PRIMARY KEY ("id") ); CREATE INDEX "launcher_build_jobs_status_created_at_idx" ON "launcher_build_jobs"("status", "created_at"); COMMENT ON TABLE "launcher_build_jobs" IS '런처 설치 파일 빌드 작업 이력'; COMMENT ON COLUMN "launcher_build_jobs"."id" IS '런처 빌드 작업 고유 ID'; COMMENT ON COLUMN "launcher_build_jobs"."target" IS '빌드 대상'; COMMENT ON COLUMN "launcher_build_jobs"."repository" IS '빌드할 소스 저장소'; COMMENT ON COLUMN "launcher_build_jobs"."branch" IS '빌드 기준 브랜치'; COMMENT ON COLUMN "launcher_build_jobs"."commit_sha" IS '빌드 기준 커밋 해시'; COMMENT ON COLUMN "launcher_build_jobs"."version" IS '런처 버전'; COMMENT ON COLUMN "launcher_build_jobs"."artifact" IS '생성할 산출물 파일명'; COMMENT ON COLUMN "launcher_build_jobs"."upload_path" IS '산출물 업로드 디렉터리'; COMMENT ON COLUMN "launcher_build_jobs"."download_url" IS '런처 다운로드 URL'; COMMENT ON COLUMN "launcher_build_jobs"."status" IS '빌드 작업 상태'; COMMENT ON COLUMN "launcher_build_jobs"."logs" IS '빌드 작업 로그'; COMMENT ON COLUMN "launcher_build_jobs"."started_at" IS '빌드 시작 시각'; COMMENT ON COLUMN "launcher_build_jobs"."finished_at" IS '빌드 종료 시각'; COMMENT ON COLUMN "launcher_build_jobs"."created_at" IS '생성 시각'; COMMENT ON COLUMN "launcher_build_jobs"."updated_at" IS '수정 시각';