ALTER TABLE community_aggregates
    DROP COLUMN subscribers_local;

-- old function from migrations/2023-10-02-145002_community_followers_count_federated/up.sql
-- The subscriber count should only be updated for local communities. For remote
-- communities it is read over federation from the origin instance.
CREATE OR REPLACE FUNCTION community_aggregates_subscriber_count ()
    RETURNS TRIGGER
    LANGUAGE plpgsql
    AS $$
BEGIN
    IF (TG_OP = 'INSERT') THEN
        UPDATE
            community_aggregates
        SET
            subscribers = subscribers + 1
        FROM
            community
        WHERE
            community.id = community_id
            AND community.local
            AND community_id = NEW.community_id;
    ELSIF (TG_OP = 'DELETE') THEN
        UPDATE
            community_aggregates
        SET
            subscribers = subscribers - 1
        FROM
            community
        WHERE
            community.id = community_id
            AND community.local
            AND community_id = OLD.community_id;
    END IF;
    RETURN NULL;
END
$$;

DROP TRIGGER IF EXISTS delete_follow_before_person ON person;

DROP FUNCTION IF EXISTS delete_follow_before_person;

