From d9d407a1b9ccb87298e82ddef206c9799aaf048e Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期四, 05 九月 2019 17:56:19 +0800
Subject: [PATCH] fix dbTables to dbtables

---
 dbself.go |   30 +++++++++++++++++++++++++-----
 1 files changed, 25 insertions(+), 5 deletions(-)

diff --git a/dbself.go b/dbself.go
index 5b5c180..f05cc24 100644
--- a/dbself.go
+++ b/dbself.go
@@ -13,6 +13,8 @@
 
 const (
 	PersonSqliteDBPath = "~/workspace/gitblit/dbserver/config/testdb.db"
+	DbT_TableName = "dbtables"
+	DBP_TableName = "dbtablepersons"
 )
 
 var syncMut sync.Mutex
@@ -103,6 +105,8 @@
 
 func ExecuteSqlByGorm(sqls []string) (bool,error) {
 	if localDb != nil {
+		localDb.LogMode(false)
+		defer localDb.LogMode(true)
 		var err error
 		tx := localDb.Begin()
 		defer func() {
@@ -112,7 +116,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{
@@ -140,6 +145,8 @@
 }
 
 func ExecuteQueryByGorm(tableNames []string) ([]string, error) {
+	localDb.LogMode(false)
+	defer localDb.LogMode(true)
 	if tableNames !=nil {
 		var arr []string
 		var dumpSql []DumpSql
@@ -159,10 +166,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 == DbT_TableName {
+				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 == DBP_TableName {
+				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