// 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' }) }