CREATE TABLE "sys"."node_instance" ( "workflow_id" text NOT NULL, "node_id" text NOT NULL, "instance" integer NOT NULL, "running" boolean DEFAULT false NOT NULL, "waiting" boolean DEFAULT false NOT NULL, "activated" boolean DEFAULT true NOT NULL, "terminal" text, "failure_digested" boolean, "task_id" text, "approval_id" text, "created_at" timestamp with time zone DEFAULT now() NOT NULL, CONSTRAINT "node_instance_workflow_id_node_id_instance_pk" PRIMARY KEY("workflow_id","node_id","instance") ); --> statement-breakpoint CREATE TABLE "sys"."process_package" ( "id" text NOT NULL, "version" integer NOT NULL, "name" text NOT NULL, "state" text DEFAULT 'draft' NOT NULL, "definition" jsonb NOT NULL, "created_at" timestamp with time zone DEFAULT now() NOT NULL, "published_at" timestamp with time zone, CONSTRAINT "process_package_id_version_pk" PRIMARY KEY("id","version") ); --> statement-breakpoint CREATE TABLE "sys"."workflow" ( "id" text PRIMARY KEY NOT NULL, "package_id" text NOT NULL, "package_version" integer NOT NULL, "subject" text NOT NULL, "state" text DEFAULT 'running' NOT NULL, "source" jsonb NOT NULL, "initiation" jsonb NOT NULL, "ports" jsonb DEFAULT '{}'::jsonb NOT NULL, "vars" jsonb DEFAULT '{}'::jsonb NOT NULL, "started_at" timestamp with time zone DEFAULT now() NOT NULL, "finished_at" timestamp with time zone ); --> statement-breakpoint CREATE INDEX "node_instance_task_idx" ON "sys"."node_instance" USING btree ("task_id");--> statement-breakpoint CREATE INDEX "process_package_state_idx" ON "sys"."process_package" USING btree ("state");--> statement-breakpoint CREATE INDEX "workflow_state_idx" ON "sys"."workflow" USING btree ("state","started_at");