[android] Room cannot verify the data integrity. Looks like you've changed schema but forgot to update the version number 에러 해결하기

myming·2023년 11월 24일

원인

회사에서 android 작업을 하던 중 Room 데이터베이스를 사용하는 부분을 수정하니 위와 같은 에러가 발생하였다.

해결방법

room 데이터베이스에 대한 스키마가 변경되었으므로 버전을 업 시켜주고 마이그레이션 값을 작성해줍니다. 예를 들어서 User 테이블에 userStatus 컬럼을 추가했다고 한다면 아래와 같이 작성해주면 됩니다.

Previous

AbleSubjectEntity::class, ChildrenEntity::class], version = 1, exportSchema = false)

To Be

AbleSubjectEntity::class, ChildrenEntity::class], version = 2, exportSchema = false)

val MIGRATION_1_2 = object : Migration(1, 2) {
override fun migrate(database: SupportSQLiteDatabase) {
database.execSQL("ALTER TABLE User ADD COLUMN userStatus TEXT")
	}
}

앱데이터베이스 뒤에 .addMigrations(MIGRATION_1_2) 추가
profile
플러터로 개발하는걸 가장 선호합니다.

0개의 댓글