🌿 중급 DB
마이그레이션(Migration)이란?
쉽게 이해하기
건물을 리모델링할 때 설계도를 단계별로 기록해두는 것처럼, 마이그레이션은 데이터베이스 구조 변경을 단계별로 기록하고 필요하면 되돌릴 수 있게 해주는 거예요.
핵심 정리
데이터베이스 구조를 변경할 때 안전하게 버전 관리하는 방법이에요.
자세히 알아보기
마이그레이션은 데이터베이스의 스키마(구조)를 변경하는 작업을 관리하는 시스템이에요. 예를 들어 users 테이블에 phone_number 컬럼을 추가한다거나, email 컬럼을 필수 항목으로 바꾸는 것처럼요. 이런 변경을 파일로 기록해두고, 순서대로 실행하거나 되돌릴 수 있습니다.
실무에서는 여러 개발자가 함께 작업하기 때문에 마이그레이션이 필수예요. A 개발자가 로컬에서 테이블 구조를 바꿨다면, B 개발자도 똑같은 변경을 적용해야 하잖아요. 마이그레이션 파일을 Git에 커밋하면, 다른 개발자들은 마이그레이션을 실행하는 것만으로 데이터베이스 구조를 동기화할 수 있어요.
마이그레이션의 가장 큰 장점은 안전성이에요. 만약 새로운 기능을 배포했는데 문제가 생겼다면, 코드뿐만 아니라 데이터베이스 구조도 이전 상태로 되돌릴 수 있어요. 롤백(rollback) 기능이 있어서 마이그레이션을 역순으로 실행하면 되거든요.
대부분의 ORM 도구는 마이그레이션 기능을 제공해요. Prisma의 'prisma migrate', Django의 'python manage.py migrate' 같은 명령어로 간단하게 마이그레이션을 생성하고 실행할 수 있습니다. 프로젝트가 커질수록 마이그레이션의 중요성은 더 커져요.