プリミティブリストを既存のモデルに追加したいが、例外が発生する。
注意:これはすべて行われますそれはKotlinです。ここでRealmListを追加するとRealmMigrationNeededExceptionが発生する<Int>(Kotlin)
は、モデルの:
open class Foo(
@PrimaryKey var id: Int = 0
) : RealmObject()
今、私は次のフィールドを追加したい:
var idList: RealmList<Int> = RealmList()
私が働いていた空白RealmList
(とそれを初期化するので、これは空のリストかもしれません非プリミティブリストフィールドの場合)。
私の移行は次のようになります。
schema.get("Foo")
?.addRealmListField("idList", Int::class.java)
アプリを実行しているとき、私はRealmMigrationNeededException
を得る:
移行が原因、次のエラーのために必要とされています
- プロパティ ' Foo.idList 'はオプションになっています。
私はモデルに新しいフィールドに@Required
を追加することによってこの問題を回避することができますが、私は、リストはまだヌル/空にすることができますかはわかりません。
プリミティブリストをモデルに追加する正しい方法は何ですか。これに対して正しい移行は何ですか?
どのレルムのバージョンを使用しますか? – Mike
これは 'RealmList'で '@ Required'を追加したいと思うかもしれませんが、' Int :: class.javaPrimitiveType) 'を試すことができます。これは、RealmListが値として「null」を含むことができないことを意味します。 –
EpicPandaForce
javadocが更新されますhttps://github.com/realm/realm-java/pull/5646 – beeender