37 lines
1.4 KiB
JavaScript
37 lines
1.4 KiB
JavaScript
const { PrismaClient } = require("@prisma/client");
|
|
|
|
const prisma = new PrismaClient();
|
|
|
|
async function cleanScreenTables() {
|
|
try {
|
|
console.log("🧹 기존 화면관리 테이블들을 정리합니다...");
|
|
|
|
// 기존 테이블들을 순서대로 삭제 (외래키 제약조건 때문에 순서 중요)
|
|
await prisma.$executeRaw`DROP VIEW IF EXISTS v_screen_definitions_with_auth CASCADE`;
|
|
console.log("✅ 뷰 삭제 완료");
|
|
|
|
await prisma.$executeRaw`DROP TABLE IF EXISTS screen_menu_assignments CASCADE`;
|
|
console.log("✅ screen_menu_assignments 테이블 삭제 완료");
|
|
|
|
await prisma.$executeRaw`DROP TABLE IF EXISTS screen_widgets CASCADE`;
|
|
console.log("✅ screen_widgets 테이블 삭제 완료");
|
|
|
|
await prisma.$executeRaw`DROP TABLE IF EXISTS screen_layouts CASCADE`;
|
|
console.log("✅ screen_layouts 테이블 삭제 완료");
|
|
|
|
await prisma.$executeRaw`DROP TABLE IF EXISTS screen_templates CASCADE`;
|
|
console.log("✅ screen_templates 테이블 삭제 완료");
|
|
|
|
await prisma.$executeRaw`DROP TABLE IF EXISTS screen_definitions CASCADE`;
|
|
console.log("✅ screen_definitions 테이블 삭제 완료");
|
|
|
|
console.log("🎉 모든 화면관리 테이블 정리 완료!");
|
|
} catch (error) {
|
|
console.error("❌ 테이블 정리 중 오류 발생:", error);
|
|
} finally {
|
|
await prisma.$disconnect();
|
|
}
|
|
}
|
|
|
|
cleanScreenTables();
|