// 直接用 SQL 创建测试课案 import { db } from "../src/shared/db"; import { sql } from "drizzle-orm"; import { createId } from "@paralleldrive/cuid2"; async function main() { // 查找语文老师 const users = await db.execute(sql`SELECT id, email FROM users WHERE email = ${"t_chinese_1@xiaoxue.edu.cn"} LIMIT 1`) as unknown as Array<{id: string; email: string}>; const realTeacherId = users[0]?.id; console.log("Teacher ID:", realTeacherId); if (!realTeacherId) { console.error("未找到语文老师"); process.exit(1); } const planId = createId(); // 构造一个简单的常规课 content JSON const content = JSON.stringify({ version: 1, blocks: [ { id: createId(), type: "objective", title: "教学目标", data: { html: "

测试目标内容

", knowledgePointIds: [] }, order: 0 }, { id: createId(), type: "key_point", title: "教学重难点", data: { html: "", knowledgePointIds: [] }, order: 1 }, { id: createId(), type: "import", title: "导入", data: { html: "", knowledgePointIds: [] }, order: 2 }, { id: createId(), type: "new_teaching", title: "新授", data: { html: "", knowledgePointIds: [] }, order: 3 }, ], }); await db.execute(sql` INSERT INTO lesson_plans (id, title, content, status, creator_id, template_id, template_name, last_saved_at, created_at, updated_at) VALUES (${planId}, ${"测试课案_v2"}, ${content}, ${"draft"}, ${realTeacherId}, ${"tpl_regular"}, ${"常规课"}, NOW(), NOW(), NOW()) `); console.log("PLAN_ID:", planId); process.exit(0); } main().catch((e) => { console.error(e); process.exit(1); });