28 lines
1.0 KiB
JavaScript
28 lines
1.0 KiB
JavaScript
import { PrismaClient } from "@prisma/client";
|
|
import { PrismaMariaDb } from "@prisma/adapter-mariadb";
|
|
import "dotenv/config";
|
|
|
|
const base = (process.env.DATABASE_URL || "mysql://localhost:3306/zhuiguang_ai?charset=utf8mb4").replace("mysql://", "mariadb://");
|
|
const sep = base.includes("?") ? "&" : "?";
|
|
const connectionString = `${base}${sep}connection_limit=20&pool_timeout=30`;
|
|
const adapter = new PrismaMariaDb(connectionString);
|
|
const prisma = new PrismaClient({ adapter });
|
|
|
|
async function main() {
|
|
const result = await prisma.skillReview.updateMany({
|
|
where: { status: "DRAFT" },
|
|
data: { status: "PUBLISHED" },
|
|
});
|
|
console.log(`✅ 已将 ${result.count} 条评测状态改为 PUBLISHED`);
|
|
|
|
const skillResult = await prisma.skill.updateMany({
|
|
where: { status: "draft", lastReviewedAt: { not: null } },
|
|
data: { status: "published" },
|
|
});
|
|
console.log(`✅ 已将 ${skillResult.count} 条技能状态改为 published`);
|
|
}
|
|
|
|
main()
|
|
.catch(console.error)
|
|
.finally(() => prisma.$disconnect());
|