問題: 每當我對資料庫或模型進行更改時,我都會收到以下 Room 資料完整性錯誤:

我的理解是我不需要增加版本號,因為我使用的是 .fallbackToDestructiveMigration()。
背景:
- 我使用 DB Browser for SQLite (v3.12.0) 對資料庫進行更改。
- 我經常對仍在開發中的應用程式/資料庫進行更改。所以,我使用的是 .fallbackToDestructiveMigration() (
第 2 步:然后雙擊您的架構的 json 檔案:

第三步:復制這個json檔案中的identityHash:

第 4 步:在 DB Browser for SQLite 中打開您的資料庫。單擊“瀏覽資料”選項卡。然后從下拉選單中選擇“ room_master_table ”。

第 5 步:將 Android Studio 中 json 檔案中的 identifyHash 與 DB Browser for SQLite 中的 identityHash 進行比較。如果哈希值不同,這可能是導致 Room 資料完整性錯誤的原因。
第 6 步:因此,將來自 Android Studio 的 json 檔案的 identityHash 粘貼到 SQLite 資料庫瀏覽器中的 identityHash 單元格中。
步驟 7:然后按Ctrl Shift S保存資料庫。
第八步:點擊“關閉資料庫”。
第 9 步:在手機或模擬器上的應用中,轉到“應用資訊”->“存盤”->“清除資料”。
第 10 步:然后在 Android Studio 中按“運行應用程式”。
問題解決了……至少對我來說是這樣。如果這些步驟沒有幫助,請查看這些額外的故障排除步驟。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/402914.html標籤:
上一篇:WITH子句在SQLite的TRIGGER中不起作用?[復制]
下一篇:如何獲取表資料的SQL陳述句
