1
當我將數據庫從版本1升級到版本2並插入新數據時,刪除存儲在版本1數據庫中的所有舊數據,並且只能看到新插入的數據數據庫。升級數據庫版本時數據不會與持久性庫存留
任何想法如何在使用Room Library升級數據庫時保持數據?
當我將數據庫從版本1升級到版本2並插入新數據時,刪除存儲在版本1數據庫中的所有舊數據,並且只能看到新插入的數據數據庫。升級數據庫版本時數據不會與持久性庫存留
任何想法如何在使用Room Library升級數據庫時保持數據?
我從同一鏈接找到解決方案。當沒有提供遷移類時,Room Library會使用onUpgrade()上的數據刪除整個數據庫,然後再次創建數據庫。
這是強制性的提供移民類,如果你想堅持下去的onUpgrade()
你可能需要看看在DBHelper你的**'onUpgrade' **方法的數據,這個被稱爲你的時候增加數據庫版本。許多人似乎編碼刪除表,然後調用**'onCreate' **(從教程複製)例如'db.execSQL(「DROP TABLE IF EXISTS」+ DATABASE_TABLE); onCreate(db);',我懷疑你可能有類似的代碼。 – MikeT
我沒有使用傳統的DBHelper。我正在使用Room Persistence Library檢查此鏈接** https://developer.android.com/topic/libraries/architecture/room.html** –
在這種情況下,您可能沒有提供合適的遷移類爲_Caution:如果您不提供必要的遷移,Room會重建數據庫,這意味着您將丟失數據庫中的所有數據._似乎反映了問題(引用您在** Database migration **部分中提供的鏈接)。 – MikeT