1
0
mirror of https://github.com/hotomoe/hotomoe synced 2024-12-12 05:38:12 +09:00
hotomoe/packages/backend/migration/1700880703631-revert-hard-mute.js
2024-02-13 02:27:48 +09:00

36 lines
1008 B
JavaScript

/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
export class RevertHardMute1700880703631 {
name = 'RevertHardMute1700880703631';
async up(queryRunner) {
// migrate hardMutedWords to mutedWords
await queryRunner.query(`
update "user_profile"
set "mutedWords" = (
select jsonb_agg(elem order by ord)
from (
select elem, ord
from (
select elem, row_number() over () as ord
from jsonb_array_elements("mutedWords") as elem
) as muted
union
select elem, 1000000 + row_number() over ()
from jsonb_array_elements("hardMutedWords") as elem
where elem not in (select jsonb_array_elements("mutedWords"))
) as combined
)
where "hardMutedWords" <> '[]'
`);
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "hardMutedWords"`);
}
async down(queryRunner) {
await queryRunner.query(`ALTER TABLE "user_profile" ADD "hardMutedWords" jsonb NOT NULL DEFAULT '[]'`);
}
}