- Shopify 플러그인에서 발생한 JavaScript 오류로 인해 고객 데이터베이스가 삭제되는 사고 발생 💥
- 문제 원인은 객체 구조 분해 시 shop ID가 primitive type(number)이었으나, 객체로 예상하여 undefined가 할당됨 😵
- Prisma의
deleteMany메서드 사용 시 where 조건에 undefined 값이 들어가면 조건절이 무시되고 모든 데이터가 삭제됨 🚨 delete메서드는 undefined 조건에서 오류를 발생시키지만,deleteMany는 그렇지 않음 🤔- 데이터 복구를 위해 전체 백업, 증분 백업, 특정 시점 복구(Point-in-Time Recovery) 등의 백업 전략이 사용됨 💾
- 해결책으로 구조 분해 사용을 줄이고, 데이터베이스와 상호작용 전에 입력 유효성 검사를 수행해야 함 ✅
- 웹훅 호출 인증을 통해 무단 접근을 방지하는 것이 중요함 🔑
- 데이터베이스 작업 시 ORM 메서드에 의존하지 말고, 입력 유효성 검사를 선행해야 함 🛡️





