2016-11-29 62 views
0

TFMSynchronized Realms only support additive migrations which can be detected and performed automatically, ...同步領域:如何處理非附加遷移?

當在非添加劑的方式(尤其是在開發過程中)我的模型的變化,有沒有放棄我的數據,並用新的模型運行任何精簡的方式?

IE:我必須手動刪除服務器和每個客戶端上的Realm文件嗎?

+1

我聽說你必須創建一個全新的Sync Realm,並使用共享模式手動複製東西 - 至於如何在Realm-Java中執行此操作,例如,我實在不確定。你需要同時爲舊的模式和新的模式創建新的類,以及映射器之間的 – EpicPandaForce

+0

你可能是對的,但不是我正在尋找的東西 - 我澄清我的問題是更具體。我想要一個直接的方式來修改我的模型,我不關心保留已經在領域中的數據。 –

+0

https://realm.io/webinar/2016-11-10-realm-mobile-platform-overview/ 43:45,您可能只需指定它前往的'file()'並手動刪除前一個,是的 – EpicPandaForce

回答

1

根據這一Realm Webinar 43:45添加劑遷移在同步境界是自動的,但破壞性遷移在同步境界是......嗯,差不多手動,因爲它得到。

您需要創建一個新的Realm文件,並且如果要保留舊Realm中的元素,則必須通過定義具有相同類名稱並指定爲RealmModule的舊架構來複制它們,新的,然後定義中間的映射並將其複製。

當然,任何「破壞性模式更改」都可以描述爲一個全新的類,它只包含前一個類的子集,然後可以將這些類映射到同一個Realm文件中的保留模式。


考慮到你不想保留舊的元素,你可以通過指定新file()參數配置創建一個新的境界,它算作一個全新模式的新空之境界文件的方式。

+1

謝謝。 [此處要求的功能](https://github.com/realm/realm-mobile-platform/issues/61)。 –