diff options
| author | 饺子w (Yumechi) <35571479+eternal-flame-AD@users.noreply.github.com> | 2025-03-06 23:47:30 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-03-06 23:47:30 +0000 |
| commit | 5be5c8bec4b8b88b7028e6520106795a91a95ff2 (patch) | |
| tree | 26a3723473778000c42b7531431b1b75ada92db4 /packages/backend | |
| parent | feat(frontend): 設定の検索 (#15505) (diff) | |
| download | misskey-5be5c8bec4b8b88b7028e6520106795a91a95ff2.tar.gz misskey-5be5c8bec4b8b88b7028e6520106795a91a95ff2.tar.bz2 misskey-5be5c8bec4b8b88b7028e6520106795a91a95ff2.zip | |
fix(backend): fixup migration for incorrect extraction on system accounts table (#15613)
Signed-off-by: eternal-flame-AD <yume@yumechi.jp>
Diffstat (limited to 'packages/backend')
| -rw-r--r-- | packages/backend/migration/1741279404074-system-accounts-fixup.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/packages/backend/migration/1741279404074-system-accounts-fixup.js b/packages/backend/migration/1741279404074-system-accounts-fixup.js new file mode 100644 index 0000000000..31cab7f5ae --- /dev/null +++ b/packages/backend/migration/1741279404074-system-accounts-fixup.js @@ -0,0 +1,26 @@ +/* + * SPDX-FileCopyrightText: syuilo and misskey-project + * SPDX-License-Identifier: AGPL-3.0-only + */ + +export class SystemAccounts1741279404074 { + name = 'SystemAccounts1741279404074' + + async up(queryRunner) { + const instanceActor = await queryRunner.query(`SELECT "id" FROM "user" WHERE "username" = 'instance.actor' AND "host" IS NULL AND "id" NOT IN (SELECT "userId" FROM "system_account" WHERE "type" = 'actor')`); + if (instanceActor.length > 0) { + console.warn('instance.actor was incorrect, updating...'); + await queryRunner.query(`UPDATE "system_account" SET "id" = '${instanceActor[0].id}', "userId" = '${instanceActor[0].id}' WHERE "type" = 'actor'`); + } + + const relayActor = await queryRunner.query(`SELECT "id" FROM "user" WHERE "username" = 'relay.actor' AND "host" IS NULL AND "id" NOT IN (SELECT "userId" FROM "system_account" WHERE "type" = 'relay')`); + if (relayActor.length > 0) { + console.warn('relay.actor was incorrect, updating...'); + await queryRunner.query(`UPDATE "system_account" SET "id" = '${relayActor[0].id}', "userId" = '${relayActor[0].id}' WHERE "type" = 'relay'`); + } + } + + async down(queryRunner) { + // fixup migration, no down migration + } +} |