mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-03-21 18:04:39 -05:00
Nuke season script Closes #2396
This commit is contained in:
parent
f3073c8f30
commit
bcd014c352
45
scripts/nuke-season-data.ts
Normal file
45
scripts/nuke-season-data.ts
Normal 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();
|
||||
Loading…
Reference in New Issue
Block a user