第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

房間數(shù)據(jù)庫架構(gòu)更新

房間數(shù)據(jù)庫架構(gòu)更新

烙印99 2024-01-28 16:10:37
我的應(yīng)用程序處于發(fā)布模式,我正在使用房間數(shù)據(jù)庫,我以前的數(shù)據(jù)庫版本是 2,并啟用了回退到破壞性遷移。@Database(entities = {        User.class,ApplicationSetting.class},        version = 2,        exportSchema = false)abstract public class DatabaseContext extends RoomDatabase {    private static final Object sLock = new Object();    private static DatabaseContext INSTANCE;    public static String DATABASE_NAME = AppConstants.DATABASE_NAME;    public static DatabaseContext getInstance(Context context) {        synchronized (sLock) {            if (INSTANCE == null) {                INSTANCE = Room.databaseBuilder(context.getApplicationContext(),                        DatabaseContext.class, DATABASE_NAME)                        .fallbackToDestructiveMigration()                        .build();            }            return INSTANCE;        }    }我在表中添加了一個新列并將版本更改為 3?,F(xiàn)在我想提供從版本 2 到版本 3 的遷移,以便數(shù)據(jù)不會丟失。但我很困惑,因為在版本 2 中我啟用了回退破壞性遷移,現(xiàn)在在版本 3 中我想保留用戶數(shù)據(jù)并刪除回退破壞。我怎樣才能實現(xiàn)這個目標?
查看完整描述

1 回答

?
MMMHUHU

TA貢獻1834條經(jīng)驗 獲得超8個贊

當使用fallbackToDestructiveMigration時,如果沒有定義的遷移,它只會銷毀(刪除表并重新創(chuàng)建它們),因此您可以添加2到3個遷移。

也就是說,如果提供了遷移,那么它就會被使用并繞過回退/破壞。

推薦的另一種選擇是使用fallbacktopressivemigrationfrom,這可用于定義要應(yīng)用回退的特定缺失遷移。

例如你可以使用.fallbackToDestructiveMigrationFrom(1,7)

  • 1 允許破壞性從 1 到 2

  • 7 允許從 7 到 8 進行破壞性(添加只是為了表明可以提供多個啟動版本)

  • 其他的 2 到 3、3 到 4 等將需要遷移。

  • 請注意,這是更具體的,因此如果提供 1 到 2 或 7 到 8 的遷移,將會導(dǎo)致異常。

當使用fallbackToDestructiveMigration時,如果沒有定義的遷移,它只會銷毀(刪除表并重新創(chuàng)建它們),因此您可以添加2到3個遷移。

也就是說,如果提供了遷移,那么它就會被使用并繞過回退/破壞。

推薦的另一種選擇是使用fallbacktopressivemigrationfrom,這可用于定義要應(yīng)用回退的特定缺失遷移。

例如你可以使用.fallbackToDestructiveMigrationFrom(1,7)

  • 1 允許破壞性從 1 到 2

  • 7 允許從 7 到 8 進行破壞性(添加只是為了表明可以提供多個啟動版本)

  • 其他的 2 到 3、3 到 4 等將需要遷移。

  • 請注意,這是更具體的,因此如果提供 1 到 2 或 7 到 8 的遷移,將會導(dǎo)致異常。


查看完整回答
反對 回復(fù) 2024-01-28
  • 1 回答
  • 0 關(guān)注
  • 144 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號