-- 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()
+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()
+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;
+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;
+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;
-drop table activity;