升级存在表greendao android工作室

时间:2016-04-06 00:22:38

标签: java android android-studio greendao greendao-generator

根据这个堆栈溢出 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?还有为什么它需要是硬代码而不是声明常数?

1 个答案:

答案 0 :(得分:0)

oldVersion和newVersion由OpenHelper onUpgrade方法提供。它提供oldVersion作为用户拥有的db的当前版本,newVersion作为他们当前升级到的版本。

您可以在绿色dao生成器中设置当前版本,即newVersion的版本。

router.put('/users', function(req, res) {
    //use authorization
    let user = getUserIdFromToken(req.get('Authorization'));

    if (typeof(req.body) !== 'string') {
      // 400: Bad request.
      res.status(400).end();
      return;
    }
    var body = req.body;
    if(body.firstName!==null) user.firstName = body.firstName;
    if(body.lastName!==null) user.lastName = body.lastName;
    if(body.displayName!==null) user.displayName = body.displayName;
    if(body.userEmail!==null) user.userEmail = body.userEmail;

    writeDocument('users', user);
    res.send();
});

module.exports = router;