Files
zhuiguang-ai/scripts/fix-topic-count.mjs
T

24 lines
808 B
JavaScript

import { PrismaClient } from "@prisma/client";
import { PrismaMariaDb } from "@prisma/adapter-mariadb";
import "dotenv/config";
const base = process.env.DATABASE_URL.replace("mysql://", "mariadb://");
const cs = base + (base.includes("?") ? "&" : "?") + "connection_limit=5";
const prisma = new PrismaClient({ adapter: new PrismaMariaDb(cs) });
const allCats = await prisma.forumCategory.findMany();
let fixed = 0;
for (const c of allCats) {
// 计算真实的话题数
const realCount = await prisma.forumTopic.count({ where: { categoryId: c.id } });
if (c.topicCount !== realCount) {
await prisma.forumCategory.update({
where: { id: c.id },
data: { topicCount: realCount }
});
fixed++;
}
}
console.log(`校准完成: 修复${fixed}个板块`);
await prisma.$disconnect();