schemaVersionを上げてもrealmのmigrationが失敗する時の対処法

realmを使っていてModelにプロパティを増やしたので、migrationをしようと思った。
そこで、AppDelegateにrealmの公式サイトに書いてあるmigration用のコードを記載し、schemaVersionを上げて実行したところ、以下のエラーが発生した。

Migration is required due to the following errors

Realmをclassのプロパティで保持していると失敗する

import UIKit
import RealmSwift

class ViewController: UIViewController{
  let db = try! Realm() // これが駄目!

  func doSomething(){
    let db = try! Realm() // こうするとイケる
  }
}

Realm()のオブジェクトをclassのプロパティとして保持していたんだけど、これだとコケる。
funcの中でそれぞれnewするとイケる。
原因は不明。

参考にと言うか、そのまんま答えが載っていたのは、やはりstackoverflow。

Realm Migration doesn’t work

まとめ

realmは便利だなぁと思いつつ、railsと同じように簡単にmigration出来るかと思ったら、良く分からんところで躓いた。
でもまぁ、解決出来て良かった。

コメント

タイトルとURLをコピーしました