From 2289ce31d78751b24df5a1ace2abad44355071a6 Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期三, 04 九月 2019 17:31:03 +0800
Subject: [PATCH] sync dt and persons except local data

---
 dbself.go |   24 +++++++++++++++++++-----
 1 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/dbself.go b/dbself.go
index c2c1826..9755dfa 100644
--- a/dbself.go
+++ b/dbself.go
@@ -114,7 +114,8 @@
 		}()
 		for _,sql :=range sqls {
 			result := tx.Exec(sql)
-			if result.Error !=nil {
+			err = result.Error
+			if err !=nil {
 				return false,result.Error
 			}
 			if result.RowsAffected == 0{
@@ -163,10 +164,23 @@
 			for _,col :=range tDescArr {
 				columnNames = append(columnNames, fmt.Sprintf(`'||quote("%s")||'`, col.Name))
 			}
-			tSql = fmt.Sprintf(`SELECT 'INSERT INTO "%s" VALUES(%s)' as sql FROM "%s";`,
-				table,
-				strings.Join(columnNames, ","),
-				table)
+			if table == "dbTables" {
+				tSql = fmt.Sprintf(`SELECT 'INSERT INTO "%s" VALUES(%s)' as sql FROM "%s" where (analyServerId='' or analyServerId is NULL);`,
+					table,
+					strings.Join(columnNames, ","),
+					table)
+			} else if table == "dbtablepersons" {
+				tSql = fmt.Sprintf(`SELECT 'INSERT INTO "%s" VALUES(%s)' as sql FROM "%s" where tableId in (select id from dbTables where (analyServerId='' or analyServerId is NULL));`,
+					table,
+					strings.Join(columnNames, ","),
+					table)
+			} else {
+				tSql = fmt.Sprintf(`SELECT 'INSERT INTO "%s" VALUES(%s)' as sql FROM "%s";`,
+					table,
+					strings.Join(columnNames, ","),
+					table)
+			}
+
 			fmt.Println("tSql:",tSql)
 
 			err = localDb.Raw(tSql).Scan(&dumpSql).Error

--
Gitblit v1.8.0