diff --git a/sqle/api/controller/v1/sql_audit_record.go b/sqle/api/controller/v1/sql_audit_record.go index c361e8f13..5b232b521 100644 --- a/sqle/api/controller/v1/sql_audit_record.go +++ b/sqle/api/controller/v1/sql_audit_record.go @@ -6,16 +6,18 @@ import ( "encoding/json" e "errors" "fmt" - v1 "github.com/actiontech/dms/pkg/dms-common/api/dms/v1" "io" "io/fs" "net/http" "os" "path/filepath" + "sort" "strconv" "strings" "time" + v1 "github.com/actiontech/dms/pkg/dms-common/api/dms/v1" + javaParser "github.com/actiontech/java-sql-extractor/parser" xmlParser "github.com/actiontech/mybatis-mapper-2-sql" "github.com/actiontech/sqle/sqle/api/controller" @@ -419,6 +421,14 @@ func getSqlsFromZip(c echo.Context) (sqlsFromSQLFile []SQLsFromSQLFile, sqlsFrom sqlsFromXML = append(sqlsFromXML, sqlsFromXmls...) } + // 按文件名排序,确保SQL按文件顺序执行 + sort.Slice(sqlsFromSQLFile, func(i, j int) bool { + return sqlsFromSQLFile[i].FilePath < sqlsFromSQLFile[j].FilePath + }) + sort.Slice(sqlsFromXML, func(i, j int) bool { + return sqlsFromXML[i].FilePath < sqlsFromXML[j].FilePath + }) + return sqlsFromSQLFile, sqlsFromXML, true, nil } func parseXMLsWithFilePath(xmlContents []xmlParser.XmlFile) ([]SQLFromXML, error) {