[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
Этот коммит содержится в:
Ibrahim Serdar Acikgoz
2022-01-19 10:57:28 +03:00
коммит произвёл GitHub
родитель 509f49c813
Коммит 56c7da5817
18 изменённых файлов: 287 добавлений и 93 удалений

Просмотреть файл

@@ -9,8 +9,27 @@ ALTER TABLE threads ADD COLUMN IF NOT EXISTS channelid VARCHAR(26);
CREATE INDEX IF NOT EXISTS idx_threads_channel_id ON threads (channelid);
UPDATE threads
SET channelId=posts.channelid
FROM posts
WHERE posts.id=threads.postid
AND threads.channelid IS NULL;
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
$$;