CREATE TABLE "code_groups" ( "id" serial PRIMARY KEY NOT NULL, "group_id" varchar(50) NOT NULL, "description" varchar(100) NOT NULL, "code_format" varchar(50), "expressions" text, "control_type" varchar(20) NOT NULL, "is_active" boolean DEFAULT true, "created_at" timestamp with time zone DEFAULT now() NOT NULL, "updated_at" timestamp with time zone DEFAULT now() NOT NULL, CONSTRAINT "code_groups_group_id_unique" UNIQUE("group_id") ); --> statement-breakpoint CREATE TABLE "combo_box_options" ( "id" serial PRIMARY KEY NOT NULL, "combo_box_setting_id" integer NOT NULL, "code" varchar(50) NOT NULL, "description" varchar(200) NOT NULL, "remark" text, "sort_order" integer DEFAULT 0, "is_active" boolean DEFAULT true, "created_at" timestamp with time zone DEFAULT now() NOT NULL, "updated_at" timestamp with time zone DEFAULT now() NOT NULL ); --> statement-breakpoint CREATE TABLE "combo_box_settings" ( "id" serial PRIMARY KEY NOT NULL, "code_group_id" integer NOT NULL, "code" varchar(50) NOT NULL, "description" varchar(200) NOT NULL, "remark" text, "created_at" timestamp with time zone DEFAULT now() NOT NULL, "updated_at" timestamp with time zone DEFAULT now() NOT NULL ); --> statement-breakpoint CREATE TABLE "document_class_options_new" ( "id" serial PRIMARY KEY NOT NULL, "document_class_id" integer NOT NULL, "option_value" varchar(100) NOT NULL, "option_code" varchar(50), "sort_order" integer DEFAULT 0, "is_active" boolean DEFAULT true, "created_at" timestamp with time zone DEFAULT now() NOT NULL, "updated_at" timestamp with time zone DEFAULT now() NOT NULL ); --> statement-breakpoint CREATE TABLE "document_classes" ( "id" serial PRIMARY KEY NOT NULL, "code" varchar(50) NOT NULL, "value" varchar(100), "description" varchar(200) NOT NULL, "code_group_id" integer, "is_active" boolean DEFAULT true, "created_at" timestamp with time zone DEFAULT now() NOT NULL, "updated_at" timestamp with time zone DEFAULT now() NOT NULL, CONSTRAINT "document_classes_code_unique" UNIQUE("code") ); --> statement-breakpoint CREATE TABLE "document_number_type_configs" ( "id" serial PRIMARY KEY NOT NULL, "document_number_type_id" integer NOT NULL, "code_group_id" integer, "document_class_id" integer, "sdq" integer NOT NULL, "description" varchar(200), "remark" text, "is_active" boolean DEFAULT true, "created_at" timestamp with time zone DEFAULT now() NOT NULL, "updated_at" timestamp with time zone DEFAULT now() NOT NULL ); --> statement-breakpoint CREATE TABLE "document_number_types" ( "id" serial PRIMARY KEY NOT NULL, "name" varchar(100) NOT NULL, "description" varchar(200), "is_active" boolean DEFAULT true, "created_at" timestamp with time zone DEFAULT now() NOT NULL, "updated_at" timestamp with time zone DEFAULT now() NOT NULL, CONSTRAINT "document_number_types_name_unique" UNIQUE("name") ); --> statement-breakpoint ALTER TABLE "combo_box_options" ADD CONSTRAINT "combo_box_options_combo_box_setting_id_combo_box_settings_id_fk" FOREIGN KEY ("combo_box_setting_id") REFERENCES "public"."combo_box_settings"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint ALTER TABLE "combo_box_settings" ADD CONSTRAINT "combo_box_settings_code_group_id_code_groups_id_fk" FOREIGN KEY ("code_group_id") REFERENCES "public"."code_groups"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint ALTER TABLE "document_class_options_new" ADD CONSTRAINT "document_class_options_new_document_class_id_document_classes_id_fk" FOREIGN KEY ("document_class_id") REFERENCES "public"."document_classes"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint ALTER TABLE "document_classes" ADD CONSTRAINT "document_classes_code_group_id_code_groups_id_fk" FOREIGN KEY ("code_group_id") REFERENCES "public"."code_groups"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint ALTER TABLE "document_number_type_configs" ADD CONSTRAINT "document_number_type_configs_document_number_type_id_document_number_types_id_fk" FOREIGN KEY ("document_number_type_id") REFERENCES "public"."document_number_types"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint ALTER TABLE "document_number_type_configs" ADD CONSTRAINT "document_number_type_configs_code_group_id_code_groups_id_fk" FOREIGN KEY ("code_group_id") REFERENCES "public"."code_groups"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint ALTER TABLE "document_number_type_configs" ADD CONSTRAINT "document_number_type_configs_document_class_id_document_classes_id_fk" FOREIGN KEY ("document_class_id") REFERENCES "public"."document_classes"("id") ON DELETE no action ON UPDATE no action;