DO $$DECLARE
   this_version CONSTANT varchar := '00.01.028';
BEGIN
   PERFORM * FROM "DBVersion" WHERE version = this_version;
   IF FOUND THEN RETURN; END IF;

   CREATE TABLE public."QueueOutbox"
    (
        id uuid NOT NULL,
        exchange character varying(200) COLLATE pg_catalog."default" NOT NULL,
        route character varying(200) COLLATE pg_catalog."default" NOT NULL,
        message_id uuid NOT NULL,
        notify_status smallint NOT NULL,
        retry_count integer NOT NULL,
        published_at timestamp without time zone,
        confirmed_at timestamp without time zone,
        tenant uuid,
        created_at timestamp without time zone NOT NULL,
        updated_at timestamp without time zone NOT NULL,
        message text COLLATE pg_catalog."default" NOT NULL,
        is_active smallint NOT NULL,
        CONSTRAINT "QueueOutbox_pkey" PRIMARY KEY (id),
        CONSTRAINT "QueueOutbox_tennat_fkey" FOREIGN KEY (tenant)
            REFERENCES public."Tenant" (id) MATCH SIMPLE
            ON UPDATE NO ACTION
            ON DELETE NO ACTION
    );

    INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.028', '2023-12-05 12:00:00.000000+02', now(), 'Add table QueueOutbox.');

END$$;