본문 바로가기
안드로이드 프로젝트/유튜브 음정 조절 어플리케이션

[Android] # 문제 해결 - 6 Room 마이그레이션 실수..

by joh9911 2023. 7. 6.

오류 횟수

 

미칠 것 같습니다.

 

데이터베이스 스키마 구조를 수정하면서 Room 버전을 업데이트하였고,

사용했던 마이그레이션들을 명시하지 않은 채 앱 업데이트를 진행했습니다.

 

앱이 들어가자마자 충돌이 나네요..

 

더 심각했던 것은,

업데이트 이전 데이터베이스 구조와, 업데이트 이후 데이터베이스 구조의 차이점을 잘 모르겠다는 점이었습니다.

그동안 작성했던 마이그레이션을 업데이트할 때마다 지웠었습니다.

정말 아무 생각이 없었던 것 같아요.


기억을 되살려서 다시 마이그레이션을 작성한 후, 다시 업데이트를 진행했지만


두 번째 업데이트 오류

계속 충돌이 났습니다. 이때 멘탈을 살짝 놨습니다.

구글 팀에서 업데이트를 검토하는데 하루 반이 걸리던데,

만약 다시 업데이트를 했을 때에도 충돌이 나면 정말 큰일이었습니다.


고민하다 결국 데이터베이스 내 저장된 정보를 초기화하기로 결정하였습니다.

앱 유저의 플레이리스트 데이터들이 모두 삭제되는데.. 방법이 없었습니다.

 

fallbackToDestructiveMigration() 추가
fallbackToDestructiveMigration() 추가


마이그레이션에 실패할 경우, 데이터를 초기화하고 강제로 마이그레이션을 진행하는 메소드를 추가했습니다.

 

업데이트 후 충돌이 나지 않는 것을 확인할 수 있었습니다.

 

 


회사에서는 앱을 어떻게 검토하고 출시하는지를 공부해 봐야겠습니다.

제가 사용자였으면 리뷰로 욕 박고 앱 지웠을 것 같아요.


사용자 메일
받고 멘탈이 나갔던 메일..

 

댓글