DO
$$
    DECLARE
        _path character varying(256) := 'patch-2025_12_04-FileSharePending-ExternalLink';
    BEGIN
        IF EXISTS (SELECT 1 FROM public."Versions" WHERE "Path" = _path) THEN
            RETURN;
        END IF;

        IF EXISTS (SELECT 1 FROM public."Versions" WHERE "Build" >= 15774) THEN
            RETURN;
        END IF;

        BEGIN
            IF NOT EXISTS(
                SELECT 1 FROM information_schema.columns
                WHERE table_name = 'FileSharePending' AND column_name = 'PendingAction'
            ) THEN
                ALTER TABLE public."FileSharePending" ADD COLUMN "PendingAction" INTEGER NOT NULL DEFAULT 0;
            END IF;

            IF NOT EXISTS(
                SELECT 1 FROM information_schema.columns
                WHERE table_name = 'FileSharePending' AND column_name = 'UserId'
            ) THEN
                ALTER TABLE public."FileSharePending" ADD COLUMN "UserId" BIGINT NULL;
            END IF;

            INSERT INTO public."Versions" ("Path", "Build") VALUES (_path, 0);
        EXCEPTION
            WHEN OTHERS THEN
                RAISE NOTICE '[ERR] %: %', _path, SQLERRM;
        END;
    END;
$$;