InfoGrab DocsInfoGrab Docs

기존 마이그레이션 삭제

GitLab 프로젝트에서 기존 데이터베이스 마이그레이션을 삭제하는 대신 비활성화하는 방법과 사전 요건을 설명합니다.

GitLab 프로젝트에서 기존 마이그레이션을 제거할 때는, 해당 마이그레이션이 이미 과거 릴리즈나 현재 릴리즈에 포함되어 GitLab.com 및/또는 GitLab Self-Managed 인스턴스에서 이미 실행되었을 가능성을 고려해야 합니다. 이러한 이유로, 기존 마이그레이션을 삭제하는 것은 불가능합니다. 삭제할 경우 다음과 같은 문제가 발생할 수 있습니다: 데이터베이스에 적용된 변경 사항이 올바르게 롤백되지 않아 스키마 불일치가 발생할 수 있습니다. 코드베이스에 더 이상 존재하지 않는 마이그레이션을 가리키는 레코드가 schema_versions 테이블에 남게 됩니다. 삭제 대신 마이그레이션을 비활성화하는 방법을 선택할 수 있습니다. 마이그레이션 비활성화를 위한 사전 요건 # 다음 조건에 해당하는 경우 마이그레이션을 비활성화할 수 있습니다: GitLab.com에서 타임아웃이 발생하거나 일반적인 문제가 발생한 경우. 기능 변경으로 인해 변경 사항이 더 이상 필요하지 않아 마이그레이션이 더 이상 필요하지 않은 경우. 마이그레이션이 데이터 마이그레이션에만 해당하는 경우. 즉, 마이그레이션이 데이터베이스 스키마를 변경하지 않는 경우. 데이터 마이그레이션을 비활성화하는 방법 # 마이그레이션을 비활성화하려면 모든 유형의 마이그레이션에 다음 단계를 적용합니다: #up , #down 또는 #perform 메서드 내부의 코드를 제거하고 # no-op 주석을 추가하여 마이그레이션을 no-op으로 전환합니다. 코드를 제거한 이유를 설명하는 주석을 추가합니다. 마이그레이션 비활성화는 Database Maintainer의 명시적인 승인이 필요합니다. 예시 # 생산성 분석 스케줄링 비활성화