바이브 코딩

마이그레이션Migration

마이그레이션 (Migration)은 이사 준비 체크리스트 같은 것 — 가구 배치를 바꾸거나 방을 늘릴 때 순서대로 옮기듯, 데이터베이스 (Database) 구조를 안전하게 단계별로 바꾸는 작업.

집을 리모델링할 때 무턱대고 벽을 허물면 안 되듯, 사이트의 데이터베이스 (Database) 구조를 바꿀 때도 순서와 기록이 필요하다. 마이그레이션 (Migration)은 '어떤 테이블 (Table)을 추가하고, 어떤 컬럼 (Column)을 삭제하고, 어떤 데이터를 옮긴다'는 변경 내역을 단계별 파일로 남겨두는 작업이다. 덕분에 무언가 잘못되면 이전 상태로 되돌릴 수 있고, 변경 이력도 깔끔하게 관리된다.

1인 비즈니스(1인 사이트 운영)를 운영하다 보면 처음엔 몰랐던 기능을 나중에 추가하게 된다. 블로그에 '좋아요' 기능을 붙이거나, 뉴스레터 구독자 테이블에 '등급 (Tier)' 컬럼을 추가하거나, SaaS에서 요금제 구조를 바꿀 때 기존 사용자 데이터를 새 구조로 옮겨야 한다. 이럴 때 마이그레이션 파일을 만들어 실행하면, AI가 코드를 바꾸더라도 데이터베이스 변경 이력이 코드와 함께 버전 관리 (Version Control)된다.

초보자가 가장 많이 실수하는 것은 데이터베이스를 직접 손으로 수정하고 마이그레이션 파일은 안 만드는 경우다. 나 혼자 쓸 때는 괜찮아 보여도, 나중에 서버를 새로 세우거나 AI에게 수정을 맡길 때 '코드와 DB 구조가 다르다'는 에러 (Error)가 터진다. 처음부터 마이그레이션 파일로 변경하는 습관을 들이면 이런 사고를 막을 수 있다.

💡 대표 예시

  • 블로그에 '태그 (Tag)' 기능 추가 → 태그 테이블을 새로 만드는 마이그레이션 실행
  • 뉴스레터 구독자 테이블에 '등급 (Tier)' 컬럼 추가 → 기존 구독자 데이터는 유지하면서 컬럼만 추가하는 마이그레이션 작성
  • SaaS 요금제 개편 → 기존 플랜 (Plan) 데이터를 새 구조로 이전하는 마이그레이션으로 안전하게 전환
  • 커뮤니티 사이트에 '게시글 좋아요' 기능 도입 → 좋아요 기록 테이블을 생성하는 마이그레이션 실행
  • 쇼핑몰에서 주문 상태 컬럼 값 변경 → '결제완료' → 'paid' 로 통일하는 데이터 마이그레이션 적용
  • 멤버십 사이트 리뉴얼 → 회원 테이블 구조 변경 시 기존 회원 데이터를 잃지 않도록 단계별 마이그레이션 실행

🔗 관련 용어

이 개념, 직접 적용해볼까요?

AI와 함께 나만의 사이트·서비스를 만드는 법을 강의에서 배워보세요.