36 lines
1019 B
JavaScript
36 lines
1019 B
JavaScript
|
/*
|
||
|
* SPDX-FileCopyrightText: syuilo and other misskey contributors
|
||
|
* 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 '[]'`);
|
||
|
}
|
||
|
}
|