Swift

Swift:Realmでのお手軽マイグレーション方法!!


今回はRealmでのマイグレーション方法をメモしていきます!

Realm基本的な使い方についてはこちらをご覧ください。

 

マイグレーションってなんぞや?

非常に説明しづらいです。

データベースの構造を新しくする・・・違うなぁ

migration(マイグレーション)の意味は『移譲』です。

これが真理なんでしょうが、とってもわかりづらいですね。

 

とりあえず、どういったときにマイグレーションをする必要があるのかを説明します。

 

マイグレーションっていつするの?

データベースの構造が変化したときにマイグレーションします。

例えば、

このように、Todoクラスにtitleカラムとcontentカラムがあったとします。

 

 

でも開発しているうちに、
『日付もつけられるようにしたいなぁ』

と思ったとすると、

このようにdateというカラムを追加するはずです。

 

 

 

しかし、データベースはすでに

『titleカラムとcontentカラムを持つもの』

と設定されてしまっています。

そこに勝手に新しいカラムを足すとエラーが出て『マイグレーションしろや!』怒られてしまいます。

 

なので

『titleカラムとcontentカラムとdateカラムを持つもの』

に変更するときにマイグレーションをします。

 

 

マイグレーション方法

マイグレーション方法はいたってシンプルです。

AppDelegate.swift内の

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {}

内を編集していきます。

これがおそらく最もシンプルなマイグレーション方法です。

schemaVersion :1と記述されていますが、

このschemaVersionはデフォルトでは0に設定されています。

ここを1に設定することで新しくデータベースを更新することできます。

 

以上でございます。


コメントを残す

*