mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-04-07 10:15:14 -05:00
36 lines
865 B
TypeScript
36 lines
865 B
TypeScript
/* eslint-disable no-console */
|
|
import "dotenv/config";
|
|
import invariant from "tiny-invariant";
|
|
import { sql } from "~/db/sql";
|
|
|
|
const discordId = process.argv[2]?.trim();
|
|
const discordId2 = process.argv[3]?.trim();
|
|
|
|
invariant(discordId, "discord id is required (argument 1)");
|
|
invariant(discordId2, "discord id (2) is required (argument 2)");
|
|
invariant(discordId !== discordId2, "discord ids must be different");
|
|
|
|
const tempDiscordId = "temp-discord-id";
|
|
|
|
const stm = sql.prepare(
|
|
/** sql */ `update "User" set "discordId" = @newDiscordId where "discordId" = @discordId;`,
|
|
);
|
|
|
|
// swap user discordIds
|
|
sql.transaction(() => {
|
|
stm.run({
|
|
discordId: discordId,
|
|
newDiscordId: tempDiscordId,
|
|
});
|
|
|
|
stm.run({
|
|
discordId: discordId2,
|
|
newDiscordId: discordId,
|
|
});
|
|
|
|
stm.run({
|
|
discordId: tempDiscordId,
|
|
newDiscordId: discordId2,
|
|
});
|
|
})();
|