36 lines
1008 B
JavaScript
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 '[]'`);
|
|
}
|
|
}
|