Files
dwroller/database/fix_flatten_tabinfo.js
2025-08-15 10:35:27 +02:00

29 lines
873 B
JavaScript

// Script to flatten tabInfo for all players in the database
const mongoose = require('mongoose');
const Player = require('./playerModel');
const MONGO_URI = process.env.MONGO_URI || 'mongodb://localhost:27017/deathwatch';
function flattenTabInfo(tabInfo) {
let t = tabInfo;
while (t && t.tabInfo) t = t.tabInfo;
return { ...t };
}
async function main() {
await mongoose.connect(MONGO_URI, { useNewUrlParser: true, useUnifiedTopology: true });
const players = await Player.find();
for (const player of players) {
if (player.tabInfo && player.tabInfo.tabInfo) {
const flat = flattenTabInfo(player.tabInfo);
player.tabInfo = flat;
await player.save();
console.log(`Flattened tabInfo for ${player.name}`);
}
}
await mongoose.disconnect();
console.log('Done.');
}
main().catch(e => { console.error(e); process.exit(1); });