Thomas Hormes
03/05/2025, 6:32 AM:database
module where most Entities, Daos, etc. live.
However i now have a different module, say :test
where I want to add another Entity that I can add to my @Database
Declaration in the :database
module.
Whenever I try, i get an error saying I need to add a migration. When I add a migration however, I get the following error (see 🧵 )Thomas Hormes
03/05/2025, 6:32 AMFATAL EXCEPTION: main
Process: org.example.project, PID: 7084
java.lang.IllegalStateException: Migration didn't properly handle: TestEntity(org.example.project.model.TestEntity).
Expected:
TableInfo {
name = 'TestEntity',
columns = {
Column {
name = 'id',
type = 'INTEGER',
affinity = '3',
notNull = 'true',
primaryKeyPosition = '1',
defaultValue = 'undefined'
}
},
foreignKeys = { }
indices = { }
}
Found:
TableInfo {
name = 'TestEntity',
columns = { }
foreignKeys = { }
indices = { }
}
at androidx.room.BaseRoomConnectionManager.onMigrate(RoomConnectionManager.kt:211)
at androidx.room.BaseRoomConnectionManager.configureDatabase(RoomConnectionManager.kt:116)
at androidx.room.BaseRoomConnectionManager.access$configureDatabase(RoomConnectionManager.kt:36)
at androidx.room.BaseRoomConnectionManager$DriverWrapper.openLocked$lambda$1(RoomConnectionManager.kt:77)
at androidx.room.BaseRoomConnectionManager$DriverWrapper.$r8$lambda$npawJpzGW_LQCHyPkGm5j4d35mo(Unknown Source:0)
at androidx.room.BaseRoomConnectionManager$DriverWrapper$$ExternalSyntheticLambda0.invoke(D8$$SyntheticClass:0)
at androidx.room.concurrent.ExclusiveLock.withLock(ExclusiveLock.kt:50)
at androidx.room.BaseRoomConnectionManager$DriverWrapper.openLocked(RoomConnectionManager.kt:65)
at androidx.room.BaseRoomConnectionManager$DriverWrapper.open(RoomConnectionManager.kt:57)
at androidx.room.coroutines.ConnectionPoolImpl._init_$lambda$5(ConnectionPoolImpl.kt:90)
at androidx.room.coroutines.ConnectionPoolImpl.$r8$lambda$PzkXqksVKGI0H8yDlVsmsrucc0E(Unknown Source:0)
at androidx.room.coroutines.ConnectionPoolImpl$$ExternalSyntheticLambda1.invoke(D8$$SyntheticClass:0)
at androidx.room.coroutines.Pool.tryOpenNewConnection(ConnectionPoolImpl.kt:222)
at androidx.room.coroutines.Pool.acquire(ConnectionPoolImpl.kt:210)
at androidx.room.coroutines.ConnectionPoolImpl$acquireWithTimeout$2.invokeSuspend(ConnectionPoolImpl.kt:167)
at androidx.room.coroutines.ConnectionPoolImpl$acquireWithTimeout$2.invoke(Unknown Source:8)
at androidx.room.coroutines.ConnectionPoolImpl$acquireWithTimeout$2.invoke(Unknown Source:4)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturnIgnoreTimeout(Undispatched.kt:54)
at kotlinx.coroutines.TimeoutKt.setupTimeout(Timeout.kt:149)
at kotlinx.coroutines.TimeoutKt.withTimeout(Timeout.kt:44)
at kotlinx.coroutines.TimeoutKt.withTimeout-KLykuaI(Timeout.kt:72)
at androidx.room.coroutines.ConnectionPoolImpl.useConnection(ConnectionPoolImpl.kt:537)
at androidx.room.RoomConnectionManager.useConnection(RoomConnectionManager.android.kt:126)
at androidx.room.RoomDatabase.useConnection$room_runtime_release(RoomDatabase.android.kt:587)
at androidx.room.util.DBUtil__DBUtil_androidKt$performSuspending$$inlined$compatCoroutineExecute$DBUtil__DBUtil_androidKt$1.invokeSuspend(DBUtil.android.kt:109)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:113)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:586)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:820)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:717)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:704)
Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@4635bdf, Dispatchers.Main.immediate]
danysantiago
03/06/2025, 12:02 AM