DO
$$
    DECLARE
        _path varchar(256) := 'patch-2025_12_10-ProjectFlexibleTableLinks_Order';
    BEGIN
        IF EXISTS (SELECT 1 FROM public."Versions" WHERE "Path" = _path) THEN
            RETURN;
        END IF;
        IF EXISTS (SELECT 1 FROM public."Versions" WHERE "Build" >= 15803) THEN
            RETURN;
        END IF;

        BEGIN
            alter table public."ProjectFlexibleTableLinks" add column "Order" bigserial NOT NULL;

            ALTER TABLE public."ProjectFlexibleTableLinks"
            DROP CONSTRAINT IF exists "ProjectFlexibleTableLinks_pkey";

            ALTER TABLE public."ProjectFlexibleTableLinks"
            ADD CONSTRAINT "ProjectFlexibleTableLinks_pkey" PRIMARY KEY ("ProjectId", "TableId", "Order");

            INSERT INTO public."Versions" ("Path", "Build") VALUES (_path, 0);

        EXCEPTION
            WHEN OTHERS THEN
                RAISE NOTICE '[ERR] %: %', _path, SQLERRM;
        END;
    END;
$$;
