[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
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
509f49c813
Коммит
56c7da5817
@@ -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
|
||||
$$;
|
||||
|
||||
Ссылка в новой задаче
Block a user