2016-04-22 25 views
2

私たちが直面する問題は、新しいスキーマバージョンでは移行できないため、すべてのレルムデータを消去して代わりに新しいスキーマバージョンを持つすべてのユーザーのために新しいスキーマバージョンを作成することです。レルムファイルを開かずにレルムスキーマのバージョンを確認するにはどうすればよいですか?

しかし、マイグレーションブロック中のみにこの番号を知る方法はありません。

このスキーマのバージョンを知る方法はありますか?

+0

VAR設定= RLMRealmConfiguration。 let schemaVersion = config.schemaVersion //スキーマバージョンで操作を実行します。 –

+0

は0を返しますか? – SaintTail

+0

デフォルトでは0が返されます。挿入が完了したら、または新しいアプリケーションバージョンでこれを更新できます。 –

答えて

2

技術的には、レルムファイルにアクセスすることなくスキーマのバージョンを確認することはできませんが、スキーマのバージョンだけを読むために完全なアクセスと一致するスキーマを指定する必要はありません。私たちはそれを可能にする機能を持っています。 schemaVersionAtPath(_:encryptionKey:error:):レルム・スウィフトから
+[RLMRealm schemaVersionAtPath:error:]

は、あなたがフリー機能を使用することができます。

のObjective-Cから

、あなたはクラスのメソッドを使用することができます。

+0

ありがとう、これは私が欲しいものです。 – SaintTail

0

I found this answer here

let configCheck = Realm.Configuration(); 
do { 
    let fileUrlIs = try schemaVersionAtURL(configCheck.fileURL!) 
    print("schema version \(fileUrlIs)") 
} catch { 
    print(error) 
} 
関連する問題