CREATE TABLE "outgoingsepamandates" ( "id" bigint PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY (sequence name "outgoingsepamandates_id_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START WITH 1 CACHE 1), "created_at" timestamp with time zone DEFAULT now() NOT NULL, "tenant" bigint NOT NULL, "customer" bigint NOT NULL, "bankaccount" bigint NOT NULL, "reference" text NOT NULL, "status" text DEFAULT 'Entwurf' NOT NULL, "mandate_type" text DEFAULT 'CORE' NOT NULL, "sequence_type" text DEFAULT 'RCUR' NOT NULL, "signed_at" timestamp with time zone, "valid_from" timestamp with time zone, "valid_until" timestamp with time zone, "default_mandate" boolean DEFAULT false NOT NULL, "notes" text, "archived" boolean DEFAULT false NOT NULL, "updated_at" timestamp with time zone, "updated_by" uuid ); --> statement-breakpoint ALTER TABLE "outgoingsepamandates" ADD CONSTRAINT "outgoingsepamandates_tenant_tenants_id_fk" FOREIGN KEY ("tenant") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action; --> statement-breakpoint ALTER TABLE "outgoingsepamandates" ADD CONSTRAINT "outgoingsepamandates_customer_customers_id_fk" FOREIGN KEY ("customer") REFERENCES "public"."customers"("id") ON DELETE no action ON UPDATE no action; --> statement-breakpoint ALTER TABLE "outgoingsepamandates" ADD CONSTRAINT "outgoingsepamandates_bankaccount_entitybankaccounts_id_fk" FOREIGN KEY ("bankaccount") REFERENCES "public"."entitybankaccounts"("id") ON DELETE no action ON UPDATE no action; --> statement-breakpoint ALTER TABLE "outgoingsepamandates" ADD CONSTRAINT "outgoingsepamandates_updated_by_auth_users_id_fk" FOREIGN KEY ("updated_by") REFERENCES "public"."auth_users"("id") ON DELETE no action ON UPDATE no action; --> statement-breakpoint ALTER TABLE "contracts" ADD COLUMN "outgoingsepamandate" bigint; --> statement-breakpoint ALTER TABLE "contracts" ADD CONSTRAINT "contracts_outgoingsepamandate_outgoingsepamandates_id_fk" FOREIGN KEY ("outgoingsepamandate") REFERENCES "public"."outgoingsepamandates"("id") ON DELETE no action ON UPDATE no action; --> statement-breakpoint ALTER TABLE "createddocuments" ADD COLUMN "outgoingsepamandate" bigint; --> statement-breakpoint ALTER TABLE "createddocuments" ADD CONSTRAINT "createddocuments_outgoingsepamandate_outgoingsepamandates_id_fk" FOREIGN KEY ("outgoingsepamandate") REFERENCES "public"."outgoingsepamandates"("id") ON DELETE no action ON UPDATE no action; --> statement-breakpoint ALTER TABLE "historyitems" ADD COLUMN "outgoingsepamandate" bigint; --> statement-breakpoint ALTER TABLE "historyitems" ADD CONSTRAINT "historyitems_outgoingsepamandate_outgoingsepamandates_id_fk" FOREIGN KEY ("outgoingsepamandate") REFERENCES "public"."outgoingsepamandates"("id") ON DELETE cascade ON UPDATE no action; --> statement-breakpoint ALTER TABLE "tenants" ALTER COLUMN "numberRanges" SET DEFAULT '{"vendors":{"prefix":"","suffix":"","nextNumber":10000},"customers":{"prefix":"","suffix":"","nextNumber":10000},"products":{"prefix":"AT-","suffix":"","nextNumber":1000},"quotes":{"prefix":"AN-","suffix":"","nextNumber":1000},"costEstimates":{"prefix":"KS-","suffix":"","nextNumber":1000},"confirmationOrders":{"prefix":"AB-","suffix":"","nextNumber":1000},"invoices":{"prefix":"RE-","suffix":"","nextNumber":1000},"deliveryNotes":{"prefix":"LS-","suffix":"","nextNumber":1000},"packingSlips":{"prefix":"PS-","suffix":"","nextNumber":1000},"spaces":{"prefix":"LP-","suffix":"","nextNumber":1000},"customerspaces":{"prefix":"KLP-","suffix":"","nextNumber":1000},"inventoryitems":{"prefix":"IA-","suffix":"","nextNumber":1000},"customerinventoryitems":{"prefix":"KIA-","suffix":"","nextNumber":1000},"projects":{"prefix":"PRJ-","suffix":"","nextNumber":1000},"costcentres":{"prefix":"KST-","suffix":"","nextNumber":1000},"outgoingsepamandates":{"prefix":"SEPA-","suffix":"","nextNumber":1000}}'::jsonb; --> statement-breakpoint UPDATE "tenants" SET "numberRanges" = COALESCE("numberRanges", '{}'::jsonb) || jsonb_build_object( 'outgoingsepamandates', COALESCE("numberRanges"->'outgoingsepamandates', '{"prefix":"SEPA-","suffix":"","nextNumber":1000}'::jsonb) ); --> statement-breakpoint UPDATE "tenants" SET "features" = COALESCE("features", '{}'::jsonb) || jsonb_build_object( 'outgoingsepamandates', COALESCE("features"->'outgoingsepamandates', 'true'::jsonb) );