我正在测试房间迁移,在“迁移和验证”步骤中,我收到了java.lang.IllegalStateException:迁移失败。由于primaryKeyPosition“service_id”列上的值错误。深入挖掘一点,我注意到在预期方面,actual_visit_id_service_id_primary_key 中的属性具有不同的pk索引 (1, 2),而在Found方面,两者都具有相同的 (1, 1)
我检查了已安装的应用程序中表actual_visit_service的数据库模式和列service_id的pk2(如预期)
失败的实体:
@Entity(
tableName = ACTUAL_VISIT_SERVICE_TABLE,
indices = [Index(
value = [ACTUAL_VISIT_SERVICE_SERVICE_ID, ACTUAL_VISIT_SERVICE_ACTUAL_VISIT_ID], unique = true
)],
foreignKeys = [(ForeignKey(
entity = ActualVisitEntity::class,
parentColumns = [ID],
childColumns = [ACTUAL_VISIT_SERVICE_ACTUAL_VISIT_ID],
onDelete = ForeignKey.CASCADE
))],
primaryKeys = [ACTUAL_VISIT_SERVICE_ACTUAL_VISIT_ID, ACTUAL_VISIT_SERVICE_SERVICE_ID]
)
data class ActualVisitServicesEntity(
@ColumnInfo(name = ACTUAL_VISIT_SERVICE_ACTUAL_VISIT_ID)
val actualVisitId: String,
@ColumnInfo(name = ACTUAL_VISIT_SERVICE_AMOUNT)
val amount: Double?,
@ColumnInfo(name …Run Code Online (Sandbox Code Playgroud)