001project_wildgrowth/backend/scripts/delete-ai-tables.ts

64 lines
1.8 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* 删除 AI 相关数据库表
* 直接执行 SQL不通过 Prisma 迁移
*/
import { PrismaClient } from '@prisma/client';
import dotenv from 'dotenv';
dotenv.config();
const prisma = new PrismaClient();
async function deleteAITables() {
try {
console.log('🗑️ 开始删除 AI 相关表...');
// 删除表(按依赖顺序)
await prisma.$executeRawUnsafe(`
DROP TABLE IF EXISTS "document_chunks" CASCADE;
`);
console.log('✅ 已删除 document_chunks 表');
await prisma.$executeRawUnsafe(`
DROP TABLE IF EXISTS "ai_prompt_logs" CASCADE;
`);
console.log('✅ 已删除 ai_prompt_logs 表');
await prisma.$executeRawUnsafe(`
DROP TABLE IF EXISTS "ai_prompt_configs" CASCADE;
`);
console.log('✅ 已删除 ai_prompt_configs 表');
await prisma.$executeRawUnsafe(`
DROP TABLE IF EXISTS "ai_content_tasks" CASCADE;
`);
console.log('✅ 已删除 ai_content_tasks 表');
// 删除 Course 表中的 AI 相关字段
await prisma.$executeRawUnsafe(`
ALTER TABLE "courses" DROP COLUMN IF EXISTS "generation_status";
`);
console.log('✅ 已删除 courses.generation_status 字段');
await prisma.$executeRawUnsafe(`
ALTER TABLE "courses" DROP COLUMN IF EXISTS "generation_progress";
`);
console.log('✅ 已删除 courses.generation_progress 字段');
await prisma.$executeRawUnsafe(`
ALTER TABLE "courses" DROP COLUMN IF EXISTS "ai_content_task_id";
`);
console.log('✅ 已删除 courses.ai_content_task_id 字段');
console.log('✅ 所有 AI 相关表已删除!');
} catch (error) {
console.error('❌ 删除失败:', error);
throw error;
} finally {
await prisma.$disconnect();
}
}
deleteAITables();