기존 마이그레이션 삭제
GitLab 프로젝트에서 기존 마이그레이션을 제거할 때는 이미 지난 릴리스나 현재 릴리스에 이미 포함되었거나 이미 GitLab.com 및/또는 Self-Managed 인스턴스에서 실행된 가능성을 고려해야 합니다.
그래서 기존 마이그레이션을 삭제할 수 없으며 다음과 같은 문제를 야기할 수 있습니다.
- 데이터베이스에 도입된 변경 사항이 제대로 롤백되지 않아 스키마 불일치가 발생합니다.
- 더는 코드베이스에 존재하지 않는 마이그레이션을 가리키는
schema_versions
테이블에 레코드가 남게 됩니다.
삭제하는 대신 해당 마이그레이션을 비활성화할 수 있습니다.
마이그레이션 비활성화 사전 요구 사항
마이그레이션은 다음의 경우에 비활성화할 수 있습니다.
- GitLab.com에서 시간 초과 또는 일반적인 문제를 일으킴.
- 사용되지 않음. 예를 들어, 기능 변경으로 인해 변경 사항이 필요하지 않음.
- 마이그레이션이 데이터 마이그레이션만 하는 경우, 즉 데이터베이스 스키마를 변경하지 않는 경우.
데이터 마이그레이션 비활성화 방법
마이그레이션을 비활성화하기 위해서는 다음 단계를 따릅니다.
-
#up
,#down
또는#perform
메서드 내의 코드를 제거하고# no-op
주석을 추가하여 마이그레이션을 무효화합니다. - 코드가 사라진 이유를 설명하는 주석을 추가하세요.
마이그레이션 비활성화는 명시적으로 데이터베이스 관리자의 승인이 필요합니다.