基于serf的数据库同步模块库
liuxiaolong
2019-09-28 c02c0ac5e06ee1a556107baa071ef0c80a387a13
dbself.go
@@ -141,16 +141,23 @@
   if localDb != nil {
      var syncSerf []SyncSerf
      err := localDb.Raw("select * from sync_serf").Scan(&syncSerf).Error
      if err == nil && len(syncSerf) > 0 {
         ltStr := syncSerf[0].LamportTime
         logger.Info("db.LamportTime str:", ltStr)
         t, e := strconv.ParseUint(ltStr, 10, 64)
         if e != nil {
            logger.Error("db.LamportTime parseUint err:", e)
         } else {
            curLTime = t
      if err == nil {
         if len(syncSerf) > 0{
            ltStr := syncSerf[0].LamportTime
            logger.Info("db.LamportTime str:", ltStr)
            t, e := strconv.ParseUint(ltStr, 10, 64)
            if e != nil {
               logger.Error("db.LamportTime parseUint err:", e)
            } else {
               curLTime = t
            }
            logger.Info("db.LamportTime:", ltStr)
         }else {
            err = localDb.Exec("insert into sync_serf values('0')").Error
            if err !=nil {
               logger.Error("sync_serf lamport_time init err:",err)
            }
         }
         logger.Info("db.LamportTime:", ltStr)
      } else {
         logger.Error("get db.LamportTime err:", err)