CREATE TABLE "customers" ( "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL, "code" varchar(16) NOT NULL, "name" varchar(64) NOT NULL, "phone" text NOT NULL, "address" text NOT NULL, "latitude" double precision, "longitude" double precision, "nfc_id" text, "status" text DEFAULT 'draft' NOT NULL, "created_at" bigint NOT NULL, "updated_at" bigint NOT NULL, "created_by" uuid NOT NULL, "updated_by" uuid NOT NULL ); --> statement-breakpoint CREATE TABLE "customer_contacts" ( "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL, "customer_id" uuid NOT NULL, "name" varchar(64) NOT NULL, "job_title" varchar(64), "phone" text, "mobile_phone" text, "notes" text ); --> statement-breakpoint ALTER TABLE "customers" ADD CONSTRAINT "customers_created_by_users_id_fk" FOREIGN KEY ("created_by") REFERENCES "public"."users"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint ALTER TABLE "customers" ADD CONSTRAINT "customers_updated_by_users_id_fk" FOREIGN KEY ("updated_by") REFERENCES "public"."users"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint ALTER TABLE "customer_contacts" ADD CONSTRAINT "customer_contacts_customer_id_customers_id_fk" FOREIGN KEY ("customer_id") REFERENCES "public"."customers"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint CREATE UNIQUE INDEX "customers_code_unique" ON "customers" USING btree ("code");--> statement-breakpoint CREATE UNIQUE INDEX "customers_nfc_id_unique" ON "customers" USING btree ("nfc_id");--> statement-breakpoint CREATE INDEX "customer_contacts_customer_id_idx" ON "customer_contacts" USING btree ("customer_id"); --> statement-breakpoint INSERT INTO "privilege_keys" ("code", "label", "sort_order") VALUES ('CONFIGURATION.CUSTOMER', 'Customers', 5);