リファクタリングの一環で、Realmのモデルのクラス名を変更した時のメモです。
(クラス名は変更したいけど、データは引き続き使いたい、というケース。)
RealmClass
の name
を指定すればOK
例えば、 Dog
というクラス名を Animal
に変更したい時。
open class Dog : RealmObject() {
var name: String = ""
}
@RealmClass
アノテーションを定義して、 name
に元のクラス名を書けばOKでした。
@RealmClass(name = "Dog")
open class Animal : RealmObject() {
var name: String = ""
}
※ ちなみに、@RealmClass("Dog")
@RealmClass(value = "Dog")
と書いてもOKです。 (ref: https://github.com/realm/realm-java/pull/6149 )