← 전체 글로 돌아가기

웹 개발

데이터베이스 스키마를 안전하게 수정하는 방법

운영 중 스키마 변경은 신중함이 필수다. 작은 이상 신호도 빨리 포착하고, 각 단계마다 정상 상태를 확인하면서 진행한다.

데이터베이스 스키마는 애플리케이션의 기초다. 여기서 한 번의 실수가 생기면 전체 서비스에 영향을 미친다. 운영 중에는 더욱 조심해야 한다.

상황을 한 줄로 요약하기

지금 뭘 바꾸려고 하는가. 새 칼럼을 추가하는가, 기존 칼럼 타입을 바꾸는가, 아니면 칼럼을 삭제하는가. 각 작업의 위험도가 다르고, 데이터가 얼마나 영향을 받을 가능성이 높은지도 다르다.

증거 모으기 - 권한과 실제 값

npx prisma validate
npx prisma migrate status

현재 사용자 권한으로 이 작업을 할 수 있는가. 마이그레이션을 새로 생성할 수 있는가. 또한 마이그레이션 파일이 실제로 코드와 동기화되어 있는가를 확인한다.

가능한 원인 미리 생각하기

"왜 이 작업이 필요한가"부터 생각한다. 새 기능을 추가하려고 하는가, 기존 데이터 구조의 문제를 고치려고 하는가. 원인을 이해하면 예상되는 문제도 미리 준비할 수 있다.

가장 작은 실험부터

마이그레이션을 전체 데이터에 적용하기 전에, 테스트 데이터베이스나 스테이징 환경에서 먼저 해본다. 시간이 얼마나 오래 걸리는지, 데이터가 제대로 변환되는지, 기존 기능이 계속 작동하는지를 확인한다.

통과 기준 정하기

마이그레이션이 성공했다는 게 뭘 의미하는가. 새 칼럼에 값이 제대로 채워졌는가. 기존 쿼리들이 여전히 잘 작동하는가. 애플리케이션에서 새 스키마를 제대로 인식하고 있는가를 모두 확인한 후에만 다음 단계로 나아간다.