DB
SQLite 마이그레이션할 때 안전하게 하는 방법
SQLite를 운영 환경에서 다룰 때, 데이터 손실 없이 스키마를 변경하는 체계적인 방법.
처음부터 정답을 맞히려고 하면 오히려 확인 시간이 길어진다. 대신 눈에 띄는 증상부터 확인하고, 거기서 원인을 하나씩 좁혀나가는 게 빠르다. DB 문제는 특히 그렇다.
상황 요약하기
DB 문제에서 가장 중요한 건 재현 가능한 증거를 남기는 것이다. 스키마 상태를 먼저 확인하면 다음으로 볼 범위가 확 줄어든다.
증거 모으기
문제를 해결하기 전에 권한부터 확인하면 불필요한 수정을 줄일 수 있다. 작은 확인이 쌓이면 원인 후보가 자연스럽게 줄어든다.
- 먼저 볼 값: 권한과 스키마
- 비교할 값: 정상일 때의 데이터 계층 상태
- 남겨둘 기록: 명령 출력, 응답 코드, 수정한 설정
npx prisma validate
npx prisma migrate status
가장 작은 실험
DATABASE_URL부터 확인하면 불필요한 변경을 줄일 수 있다. 작은 확인이 쌓이면 원인 후보가 자연스럽게 줄어든다.
- 증상이 같은 조건에서 다시 나는지 확인한다.
- 응답에서 바뀐 부분을 한 줄로 설명해본다.
- 백업 상태와 실제 데이터 조회를 최종 확인한다.
작은 확인을 남겨두면 다음 문제를 훨씬 짧게 처리할 수 있다.