task-d.7.8

This commit is contained in:
phaichayon
2026-07-03 10:19:03 +07:00
parent 110c2f9e7f
commit 9b05743b1e
18 changed files with 1980 additions and 16 deletions

View File

@@ -0,0 +1,67 @@
CREATE TABLE IF NOT EXISTS "setup_runs" (
"id" text PRIMARY KEY NOT NULL,
"status" text DEFAULT 'not_started' NOT NULL,
"mode" text DEFAULT 'production' NOT NULL,
"target_organization_id" text,
"started_by" text NOT NULL,
"completed_by" text,
"started_at" timestamp with time zone DEFAULT now() NOT NULL,
"completed_at" timestamp with time zone,
"last_error" text,
"metadata" jsonb,
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
"updated_at" timestamp with time zone DEFAULT now() NOT NULL
);
--> statement-breakpoint
CREATE TABLE IF NOT EXISTS "setup_run_steps" (
"id" text PRIMARY KEY NOT NULL,
"setup_run_id" text NOT NULL,
"step_key" text NOT NULL,
"status" text DEFAULT 'not_started' NOT NULL,
"input_hash" text,
"output_json" jsonb,
"errors_json" jsonb,
"warnings_json" jsonb,
"started_at" timestamp with time zone,
"completed_at" timestamp with time zone,
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
"updated_at" timestamp with time zone DEFAULT now() NOT NULL
);
--> statement-breakpoint
CREATE UNIQUE INDEX IF NOT EXISTS "setup_run_steps_run_step_idx" ON "setup_run_steps" ("setup_run_id","step_key");
--> statement-breakpoint
CREATE TABLE IF NOT EXISTS "seed_manifests" (
"id" text PRIMARY KEY NOT NULL,
"setup_run_id" text,
"organization_id" text,
"name" text NOT NULL,
"version" text NOT NULL,
"type" text NOT NULL,
"checksum" text NOT NULL,
"status" text DEFAULT 'pending' NOT NULL,
"source" text NOT NULL,
"applied_by" text,
"applied_at" timestamp with time zone,
"report_json" jsonb,
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
"updated_at" timestamp with time zone DEFAULT now() NOT NULL
);
--> statement-breakpoint
CREATE TABLE IF NOT EXISTS "seed_manifest_items" (
"id" text PRIMARY KEY NOT NULL,
"seed_manifest_id" text NOT NULL,
"item_key" text NOT NULL,
"source_file" text NOT NULL,
"checksum" text NOT NULL,
"status" text DEFAULT 'pending' NOT NULL,
"imported_count" integer DEFAULT 0 NOT NULL,
"updated_count" integer DEFAULT 0 NOT NULL,
"skipped_count" integer DEFAULT 0 NOT NULL,
"error_count" integer DEFAULT 0 NOT NULL,
"warning_count" integer DEFAULT 0 NOT NULL,
"report_json" jsonb,
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
"updated_at" timestamp with time zone DEFAULT now() NOT NULL
);
--> statement-breakpoint
CREATE UNIQUE INDEX IF NOT EXISTS "seed_manifest_items_manifest_item_idx" ON "seed_manifest_items" ("seed_manifest_id","item_key");