[ Agent ] [ App ] - fix mysql init bugs - 6
This commit is contained in:
@@ -6,6 +6,7 @@ import (
|
||||
"fmt"
|
||||
_ "github.com/go-sql-driver/mysql"
|
||||
"os"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func MysqlSqlFileLoad(jackeyLoveIp string, jackeyLoveFileList []string) (bool, []string) {
|
||||
@@ -40,22 +41,29 @@ func MysqlSqlFileLoad(jackeyLoveIp string, jackeyLoveFileList []string) (bool, [
|
||||
defer jackeyLove.Close()
|
||||
|
||||
// 逐行读取 SQL 文件并执行
|
||||
query := ""
|
||||
scanner := bufio.NewScanner(jackeyLove)
|
||||
for scanner.Scan() {
|
||||
sqlStatement := scanner.Text()
|
||||
// 这里可以添加逻辑来忽略空行或注释行
|
||||
if sqlStatement == "" || sqlStatement[:2] == "--" {
|
||||
if sqlStatement == "" || sqlStatement[:2] == "--" || sqlStatement[:2] == "/*" {
|
||||
continue
|
||||
}
|
||||
// 执行 SQL 语句
|
||||
_, err := db.Exec(sqlStatement)
|
||||
if err != nil {
|
||||
executeError := fmt.Sprintf("[MysqlSqlFileLoad] - jackeyLoveFile %s 执行出错: %s, 错误信息: %s", jackeyLove.Name(), sqlStatement, err.Error())
|
||||
log.Error(executeError)
|
||||
return false, []string{
|
||||
executeError,
|
||||
query += sqlStatement + " "
|
||||
if strings.Contains(sqlStatement, ";") {
|
||||
_, err := db.Exec(query)
|
||||
if err != nil {
|
||||
executeError := fmt.Sprintf("[MysqlSqlFileLoad] - jackeyLoveFile %s 执行出错: %s, 错误信息: %s", jackeyLove.Name(), sqlStatement, err.Error())
|
||||
log.Error(executeError)
|
||||
return false, []string{
|
||||
executeError,
|
||||
}
|
||||
}
|
||||
// reset
|
||||
query = ""
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// 检查扫描过程中是否有错误
|
||||
|
||||
Reference in New Issue
Block a user