create table if not exists project_activity
(
    id           bigserial
        primary key,
    project      uuid                     not null,
    repo         uuid,
    actor        uuid                     not null,
    event_type   varchar(50)              not null,
    event_id     uuid,
    event_sub_id bigint,
    title        varchar(500)             not null,
    content      text,
    metadata     jsonb,
    is_private   boolean default false    not null,
    created_at   timestamp with time zone not null
);

create index if not exists idx_project_activity_project
    on project_activity (project);

create index if not exists idx_project_activity_created_at
    on project_activity (created_at desc);

create index if not exists idx_project_activity_event_type
    on project_activity (event_type);
