-- outgoing activities, need to be stored to be later server over http
-- we change data column from jsonb to json for decreased size
-- https://stackoverflow.com/a/22910602
create table sent_activity (
    id bigserial primary key,
    ap_id text unique not null,
    data json not null,
    sensitive boolean not null,
    published timestamp not null default now()
);

-- incoming activities, we only need the id to avoid processing the same activity multiple times
create table received_activity (
    id bigserial primary key,
    ap_id text unique not null,
    published timestamp not null default now()
);

-- copy sent activities to new table. only copy last 100k for faster migration
insert into sent_activity(ap_id, data, sensitive, published)
    select ap_id, data, sensitive, published
    from activity
    where local = true
    order by id desc
    limit 100000;

-- copy received activities to new table. only last 1m for faster migration
insert into received_activity(ap_id, published)
    select ap_id, published
    from activity
    where local = false
    order by id desc
    limit 1000000;

drop table activity;