[Error 발생]
신규 기능 추가 개발 중에 겪었던 Error 이다. 신규 기능을 추가하면서 로컬 DB로만 이루어진 기능이다보니, 신중하게 DB 설계를 하고를 개발을 했지만, 테이블 스키마가 변경되고, 테이블이 추가되는 상황이 왔고, 위 에러를 만나게 됐다.
[확인 해야할 사항]
사실 보통 App 배포 후, 스키마가 변경되거나, 테이블 구조가 바뀌게 되면 Room Version 을 올리며 마이그레이션 코드를 추가하여 룸 데이터를 보존하며 작업을 한다. 하지만, 현재 개발기에서 개발 중에, 무의미한 더미데이터가 있을 경우 삭제 후, 다시 생성하면서 기능 개발을 하면 되는데 계속해서 위와 같은 에러가 발생했다.
Androidmanifest.xml
allowBackup = false
위 코드로 자동백업을 막아 두었는데도, 데이터가 존재하다며 무결성 Error 가 발생했던 상황이였다.
위 코드를 아예 작성하지 않아도, 기본적으로 true 로 인식을 한다.
그래서, 자동백업을 원치 않을경우 확실히 false 코드를 삽입해 두어야 한다.
또한, 단말기 내 애플리케이션 데이터를 삭제하기도 했지만, 빌드를 해도 동일한 Error 가 발생했다.
[해결 방법]
자동백업을 하지 않았는데 왜그럴까? 이전에 자동으로 백업된 게 있었을 수도 있다.
결과적으로 해결 방법은
단말기 애플리케이션 데이터를 삭제하는게 아니라, 'Google Drive' 애플리케이션 데이터를 삭제해야만 한다.
그래야 해결이 된다.
위 링크를 참고해보면 좋을 것 같다.