CREATE TABLE IF NOT EXISTS community_members (
  community_id  uuid        NOT NULL REFERENCES communities (id) ON DELETE CASCADE,
  user_id       uuid        NOT NULL REFERENCES users (id) ON DELETE CASCADE,
  role          text        NOT NULL CHECK (role IN ('owner', 'admin', 'member')),
  nickname      text,
  avatar_url    text,
  joined_at     timestamptz DEFAULT now(),
  PRIMARY KEY (community_id, user_id)
);
