2022-01-08 03:16:07 -05:00
|
|
|
CREATE TABLE IF NOT EXISTS threads (
|
|
|
|
|
postid VARCHAR(26) PRIMARY KEY,
|
|
|
|
|
replycount bigint,
|
|
|
|
|
lastreplyat bigint,
|
|
|
|
|
participants text
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
ALTER TABLE threads ADD COLUMN IF NOT EXISTS channelid VARCHAR(26);
|
|
|
|
|
|
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_threads_channel_id ON threads (channelid);
|
|
|
|
|
|
2022-01-19 02:57:28 -05:00
|
|
|
DO $$
|
|
|
|
|
<< migrate_empty_threads >>
|
|
|
|
|
DECLARE
|
|
|
|
|
empty_threads_exist boolean := FALSE;
|
|
|
|
|
BEGIN
|
|
|
|
|
SELECT
|
|
|
|
|
count(*) != 0 INTO empty_threads_exist
|
|
|
|
|
FROM
|
|
|
|
|
threads
|
|
|
|
|
WHERE
|
|
|
|
|
channelid IS NULL;
|
|
|
|
|
IF empty_threads_exist THEN
|
|
|
|
|
UPDATE
|
|
|
|
|
threads
|
|
|
|
|
SET
|
|
|
|
|
channelId = posts.channelid
|
|
|
|
|
FROM
|
|
|
|
|
posts
|
|
|
|
|
WHERE
|
|
|
|
|
posts.id = threads.postid
|
|
|
|
|
AND threads.channelid IS NULL;
|
|
|
|
|
END IF;
|
|
|
|
|
END migrate_empty_threads
|
|
|
|
|
$$;
|