在android中我有領域版本0.86。我試圖升級到1.1.1,但之後它拋出一個錯誤,說我需要一個領域遷移。有誰知道如何從一個版本遷移到另一個版本?有更安全的版本,我可以升級到更容易實現?由於遷移到新版本的領域?
1
A
回答
0
我們有遷移的例子在這裏,你可以用它來讓你開始:https://github.com/realm/realm-java/blob/master/examples/migrationExample/src/main/java/io/realm/examples/realmmigrationexample/model/Migration.java
遷移一般都記錄在這裏:https://realm.io/docs/java/latest/#migrations
的使用情況下,一個簡單的解決方案,您使用域作爲緩存網絡請求的機制。只需添加deleteRealmIfMigrationNeeded()
您RealmConfiguration:https://realm.io/docs/java/latest/api/io/realm/RealmConfiguration.Builder.html#deleteRealmIfMigrationNeeded--
0
當你升級你的境界DB到新版本從任何舊版本那麼這 1.0.0+如果缺省運行的應用程序,然後我們得到了遷移錯誤。但是通過使用Migration定義如下,我們可以解決這個問題。
定義域應用程序實例如下應用類中:
public class MainApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
Fabric.with(this, new Crashlytics());
VolleyHelper.init(this);
// The Realm file will be located in Context.getFilesDir() with name "default.realm"
RealmConfiguration config = new RealmConfiguration.Builder(this)
.schemaVersion(1)
.migration(new MyMigration())
.build();
Realm.setDefaultConfiguration(config);
}}
如果你不這樣做的數據庫結構的任何變化,只升級版本境界然後定義如下遷移類。如果你做任何數據庫結構改變,那麼你必須在MyMigration類下定義它。你可以從這裏得到更多的遷移信息Realm Migration
public class MyMigration implements RealmMigration {
@Override
public void migrate(DynamicRealm realm, long oldVersion, long newVersion) {
}}
0
其他人已經聯繫例如遷移和the docs,所以我就告訴你,你正在運行到breaking change in 0.89.0
@PrimaryKey field value can now be null for String, Byte, Short, Integer, and Long types.
Older Realms should be migrated, using RealmObjectSchema.setNullable(),
or by adding the @Required annotation. (#2515).
所以,如果你要避免在此情況下使用遷移,您只需在@PrimaryKey
字段中指定@Required
即可。
相關問題
- 1. 領域備份和遷移到一個新版本
- 2. 領域類型的領域遷移long
- 3. 領域遷移與新的外國領域
- 4. 領域遷移的Android
- 5. 使用新架構遷移領域
- 6. 領域遷移問題
- 7. 領域無法遷移
- 8. 的Protobuf - 遷移到新版本
- 9. Umbraco 3.0到最新版本的遷移
- 10. 遷移表到SQL XML領域
- 11. 從Joomla 1.0.12遷移到最新版本
- 12. 從Axis1.0版本遷移到Axis2.0版本
- 13. 遷移版本
- 14. 更新到已遷移的subrepos的舊版Mercurial版本
- 15. 在領域遷移過程中創建領域對象
- 16. 即使架構版本從未更改過的領域遷移模式
- 17. 如何通過遷移工具包將舊版本遷移到新版本後啓動舊版本?
- 18. 如何在遷移時刪除領域?
- 19. 領域遷移和可選屬性
- 20. 笨 - 附加dbforge /遷移領域
- 21. 刪除領域上手動遷移
- 22. Realm.io RealmSwift其他領域遷移
- 23. 領域遷移,從何初始化
- 24. 領域主鍵遷移 - 目標C
- 25. 將schema_migration表移動到較新的版本而不遷移?
- 26. 如何輕鬆將JavaScript版本遷移到新版Google地圖?
- 27. 如何在新版本中遷移NSUserDefaults?
- 28. 遷移到舊版本的Google API
- 29. NDIS版本的遷移
- 30. TFS 2008到TFS 2010遷移域遷移
他需要遷移,因爲@ PrimaryKey在0.89.0中爲空 – EpicPandaForce