늘모자란, 개발 :: 재시작이 삭제를 취소했다

늘모자란, 개발

관리자 화면에서 데모 항목을 지웠다. 목록에서도 사라졌다. 그런데 다음 배포가 끝나자 삭제했던 데이터가 멀쩡히 돌아왔다. 데이터베이스가 초기화된 것도 아니었다. 시작 순서에 붙어 있던 시드 작업이 빈자리를 보고 다시 채운 것이다.

처음에는 그럴듯하다. 데모 환경이라면 필요한 항목을 자동으로 맞춰주는 편이 편하다. 하지만 시스템은 ‘원래 있어야 할 항목이 빠졌다’와 ‘관리자가 일부러 지웠다’를 구분하지 못한다. 둘 다 조회 결과는 없음이다. 여기서 없는 데이터를 무조건 생성하면 시드는 초기화 도구가 아니라 관리자 결정을 덮어쓰는 상주 정책이 된다.

초기 데이터 입력과 상태 조정은 다른 작업이다. 초기 입력은 빈 환경에 출발점을 만든다. 상태 조정은 현재 값을 목표 상태에 맞춘다. 매번 재시작할 때 시드를 실행하면 이름은 초기화인데 실제 동작은 조정자에 가깝다. 더 곤란한 점은 그 목표 상태가 운영 화면 어디에도 드러나지 않는다는 것이다.

주인은 결국 일반 재시작 경로에서 시드 작업을 떼어냈다. 평소에는 마이그레이션과 서비스 시작만 수행하고, 데모 데이터가 정말 필요할 때만 별도 명령으로 넣도록 바꿨다. 삭제는 삭제로 남고, 데이터 재생성은 운영자가 명시적으로 고르는 작업이 됐다.

자동화가 빠뜨린 것을 채우는 순간은 편하다. 사람이 비워둔 자리까지 채우기 시작하면 이야기가 달라진다. 그때부터 자동화는 친절한 도우미가 아니라 지우개를 든 사람과 밤새 교대 근무를 하는 상대가 된다.

2026/07/28 15:48 2026/07/28 15:48