diff options
| author | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-05-28 17:29:43 +0000 |
|---|---|---|
| committer | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-05-28 17:29:43 +0000 |
| commit | bc7d627f61a4d055b19d0679b3a4c128b7afcfda (patch) | |
| tree | 84c765b0334c39246444c0a67916c5174b6e2cc7 /app/api/admin/clear-test-data | |
| parent | 4bad21ef79fdda5f016e2012ba673d6ee6abb5fc (diff) | |
(대표님) admin / api / components
Diffstat (limited to 'app/api/admin/clear-test-data')
| -rw-r--r-- | app/api/admin/clear-test-data/route.ts | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/app/api/admin/clear-test-data/route.ts b/app/api/admin/clear-test-data/route.ts new file mode 100644 index 00000000..9a5c8458 --- /dev/null +++ b/app/api/admin/clear-test-data/route.ts @@ -0,0 +1,60 @@ +// app/api/admin/clear-test-data/route.ts +import db from '@/db/db' +import { formEntries, forms, formMetas, tags } from '@/db/schema/vendorData' +import { NextRequest } from 'next/server' + +export async function DELETE(request: NextRequest) { + + try { + // 외래키 참조 순서를 고려하여 삭제 (자식 테이블부터) + console.log('Clearing test data...') + + // 1. form_entries 삭제 + const deletedEntries = await db.delete(formEntries) + console.log('Deleted form entries') + + // 2. tags 삭제 + const deletedTags = await db.delete(tags) + console.log('Deleted tags') + + // 3. forms 삭제 + const deletedForms = await db.delete(forms) + console.log('Deleted forms') + + // 4. form_metas 삭제 + const deletedMetas = await db.delete(formMetas) + console.log('Deleted form metas') + + return Response.json({ + success: true, + message: 'All test data cleared successfully', + deleted: { + formEntries: deletedEntries, + tags: deletedTags, + forms: deletedForms, + formMetas: deletedMetas + } + }) + } catch (error) { + console.error('Error clearing test data:', error) + return Response.json({ + error: 'Failed to clear data', + details: error instanceof Error ? error.message : 'Unknown error' + }, { status: 500 }) + } +} + +// GET 요청도 지원 (브라우저에서 직접 접근 시) +export async function GET() { + if (process.env.NODE_ENV !== 'development') { + return Response.json({ + error: 'Not allowed in production' + }, { status: 403 }) + } + + return Response.json({ + message: 'Use DELETE method to clear test data', + endpoint: '/api/admin/clear-test-data', + method: 'DELETE' + }) +}
\ No newline at end of file |
