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();