Files
incudal/server/prisma/migrations/20251227085332_add_instance_task/migration.sql
T
2026-06-20 14:26:29 +08:00

41 lines
1.4 KiB
SQL

-- CreateEnum
CREATE TYPE "InstanceTaskType" AS ENUM ('start', 'stop', 'restart', 'rebuild', 'clone');
-- CreateEnum
CREATE TYPE "InstanceTaskStatus" AS ENUM ('PENDING', 'PROCESSING', 'COMPLETED', 'FAILED');
-- CreateTable
CREATE TABLE "instance_tasks" (
"id" SERIAL NOT NULL,
"instance_id" INTEGER NOT NULL,
"host_id" INTEGER NOT NULL,
"user_id" INTEGER NOT NULL,
"task_type" "InstanceTaskType" NOT NULL,
"status" "InstanceTaskStatus" NOT NULL DEFAULT 'PENDING',
"progress" TEXT,
"retry_count" INTEGER NOT NULL DEFAULT 0,
"image_alias" TEXT,
"target_name" TEXT,
"target_host_id" INTEGER,
"snapshot_name" TEXT,
"new_instance_id" INTEGER,
"error" TEXT,
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"started_at" TIMESTAMP(3),
"finished_at" TIMESTAMP(3),
CONSTRAINT "instance_tasks_pkey" PRIMARY KEY ("id")
);
-- CreateIndex
CREATE INDEX "instance_tasks_host_id_status_idx" ON "instance_tasks"("host_id", "status");
-- CreateIndex
CREATE INDEX "instance_tasks_instance_id_idx" ON "instance_tasks"("instance_id");
-- CreateIndex
CREATE INDEX "instance_tasks_user_id_idx" ON "instance_tasks"("user_id");
-- AddForeignKey
ALTER TABLE "instance_tasks" ADD CONSTRAINT "instance_tasks_instance_id_fkey" FOREIGN KEY ("instance_id") REFERENCES "instances"("id") ON DELETE CASCADE ON UPDATE CASCADE;