24 lines
774 B
JavaScript
24 lines
774 B
JavaScript
const { PrismaClient } = require('../generated/prisma');
|
|
|
|
async function main() {
|
|
const prisma = new PrismaClient();
|
|
const players = await prisma.player.findMany();
|
|
const usedUsernames = new Set();
|
|
|
|
for (const player of players) {
|
|
let base = player.email.split('@')[0];
|
|
let username = base;
|
|
let i = 1;
|
|
// Ensure uniqueness
|
|
while (usedUsernames.has(username) || await prisma.player.findUnique({ where: { username } })) {
|
|
username = `${base}${i}`;
|
|
i++;
|
|
}
|
|
usedUsernames.add(username);
|
|
await prisma.player.update({ where: { id: player.id }, data: { username } });
|
|
console.log(`Set username for ${player.email}: ${username}`);
|
|
}
|
|
await prisma.$disconnect();
|
|
}
|
|
|
|
main().catch(e => { console.error(e); process.exit(1); });
|