Files
mostlymatter/db/migrations/postgres/000042_create_threads.up.sql
Ibrahim Serdar Acikgoz 56c7da5817 [MM-40952] migrations: Add if statements for some queries (#19359)
* migrations: add if statements for some queries

* add better checks to upgrade posts v6 migration

* use "is null" instead of "= null"

* fix down script for users v6

* reflect review comments
2022-01-19 10:57:28 +03:00

36 строки
683 B
SQL

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);
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
$$;