Я получаю сообщение об ошибке
error: BookGroupEntry has a foreign key (bookGroupParameterId) that references BookGroupParameter (id) but BookGroupParameter does not have a unique index on those columns nor the columns are its primary key. SQLite requires having a unique constraint on referenced parent columns so you must add a unique index to BookGroupParameter that has (id) column(s).
, и это совершенно меня поражает, потому что у меня нет ситуации, о которой сообщает ошибка
Моя таблица BookGroupParameter выглядит следующим образом:
@Entity(
tableName = "BookGroupParameters",
primaryKeys = ["id", "parameterId", "bookGroupId"],
indices = [Index("id")],
foreignKeys = [
ForeignKey(
entity = Parameter::class,
parentColumns = arrayOf("id"),
childColumns = arrayOf("parameterId"),
onDelete = ForeignKey.CASCADE
),
ForeignKey(
entity = BookGroup::class,
parentColumns = arrayOf("id"),
childColumns = arrayOf("bookGroupId"),
onDelete = ForeignKey.CASCADE
)]
)
data class BookGroupParameter(
@NonNull
var id: Int,
val bookGroupId: Int,
val parameterId: Int
) {
}
, а это моя таблица BookGroupEntry
@Entity(
tableName = "BookGroupEntries",foreignKeys = [
ForeignKey(
entity = BookGroupParameter::class,
parentColumns = arrayOf("id"),
childColumns = arrayOf("bookGroupParameterId"),
onDelete = ForeignKey.CASCADE
)]
)
data class BookGroupEntry(
@PrimaryKey
var id: Int,
var value: String,
val bookGroupParameterId:Int
)
Почему он сообщает мне, что мой FK в BookGroupEntry не определен как PK в таблице BookGroupParameters?