From f916e8c156f0e968b40978555d5c3847d77dc3e5 Mon Sep 17 00:00:00 2001 From: Dragory <2606411+Dragory@users.noreply.github.com> Date: Tue, 15 Sep 2020 00:59:46 +0300 Subject: [PATCH] Fix antiraid level upsert for MySQL --- backend/src/data/GuildAntiraidLevels.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/backend/src/data/GuildAntiraidLevels.ts b/backend/src/data/GuildAntiraidLevels.ts index 43080641..7f1321c1 100644 --- a/backend/src/data/GuildAntiraidLevels.ts +++ b/backend/src/data/GuildAntiraidLevels.ts @@ -27,6 +27,7 @@ export class GuildAntiraidLevels extends BaseGuildRepository { }); } else { // Upsert: https://stackoverflow.com/a/47064558/316944 + // But the MySQL version: https://github.com/typeorm/typeorm/issues/1090#issuecomment-634391487 await this.antiraidLevels .createQueryBuilder() .insert() @@ -34,8 +35,10 @@ export class GuildAntiraidLevels extends BaseGuildRepository { guild_id: this.guildId, level, }) - .onConflict('("guild_id") DO UPDATE SET "guild_id" = :guildId') - .setParameter("guildId", this.guildId) + .orUpdate({ + conflict_target: ["guild_id"], + overwrite: ["level"], + }) .execute(); } }