]> Untitled Git - lemmy.git/blobdiff - migrations/2023-07-11-084714_receive_activity_table/up.sql
add enable_federated_downvotes site option
[lemmy.git] / migrations / 2023-07-11-084714_receive_activity_table / up.sql
index c6b30b7b7c3557f18faae3266b4345358b353777..4d723491a09d8f112f5574ebba94f7e6dca066fa 100644 (file)
@@ -1,35 +1,48 @@
 -- 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;