Nuke season script Closes #2396
Some checks failed
Tests and checks on push / run-checks-and-tests (push) Has been cancelled
Updates translation progress / update-translation-progress-issue (push) Has been cancelled

This commit is contained in:
Kalle 2025-06-15 21:24:56 +03:00
parent f3073c8f30
commit bcd014c352

View File

@ -0,0 +1,45 @@
import "dotenv/config";
import { db } from "~/db/sql";
import * as Seasons from "~/features/mmr/core/Seasons";
import { addDummySkill } from "~/features/sendouq-match/queries/addDummySkill.server";
import { dateToDatabaseTimestamp } from "~/utils/dates";
import { logger } from "~/utils/logger";
async function main() {
if (Seasons.current()) {
throw new Error("There is a current season");
}
if (Seasons.next()?.nth !== 8) {
throw new Error("Next season is not 8. Script needs modifying");
}
const wrongSeasonStartDate = new Date("2025-06-14T18:00:00.000Z");
const allMatches = await db
.selectFrom("GroupMatch")
.selectAll()
.where(
"GroupMatch.createdAt",
">=",
dateToDatabaseTimestamp(wrongSeasonStartDate),
)
.execute();
await db
.deleteFrom("Skill")
.where(
"Skill.groupMatchId",
"in",
allMatches.map((m) => m.id),
)
.execute();
for (const match of allMatches) {
addDummySkill(match.id);
}
logger.info(`All done with nuking the season (${allMatches.length} matches)`);
}
void main();