簡體   English   中英

升級存在表greendao android studio

[英]upgrade exist table greendao android studio

根據這個堆棧溢出, greenDao Schema Upgrade

“ DiscDev”家伙回答了他自己的問題,但是我對以下這些代碼的onUpgrade方法有一個疑問:

if(oldVersion == 3 && newVersion == 4){
   boolean ifNotExists = false;

   //Leave old tables alone and only create ones that didn't exist
   //in the previous schema
     NewTable1Dao.createTable(db, ifNotExists);
     NewTable2Dao.createTable(db, ifNotExists);
     NewTable3Dao.createTable(db, ifNotExists);
     NewTable4Dao.createTable(db, ifNotExists);
} else {
     dropAllTables(db, true);
     onCreate(db);
}

他怎么知道舊版本是3而新版本是4? 還有為什么為什么要用硬代碼而不是常數聲明呢?

舊版本和新版本由OpenHelper onUpgrade方法提供。 它提供oldVersion作為用戶擁有的數據庫的當前版本,並提供newVersion作為他們當前升級到的版本。

您可以在綠色的dao生成器中設置當前版本,即newVersion。

public static void main(String[] args) throws Exception {
    int currentVersion  = 4;
    Schema schema = new Schema(currentVersion, "com.example.app.model.generated");

    new DaoGenerator().generateAll(schema, "app/src/main/java/");
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM