From a15d408df1f4d337938dc16b843d56996b733c13 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Thu, 22 May 2025 18:03:22 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=BF=BD=E7=95=A5=E7=89=B9=E5=AE=9ASQL?= =?UTF-8?q?=E6=89=A7=E8=A1=8C=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/framework/database/db/expand.go | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/framework/database/db/expand.go b/src/framework/database/db/expand.go index 86af2cef..3f9554f8 100644 --- a/src/framework/database/db/expand.go +++ b/src/framework/database/db/expand.go @@ -93,11 +93,17 @@ func processSQLFile(db *gorm.DB, filePath string) { if strings.HasSuffix(line, ";") { // 执行 SQL 语句 if err := db.Exec(sqlBuilder.String()).Error; err != nil { - errorStr := err.Error() - if strings.Contains(strings.ToLower(errorStr), "duplicate column") { - // 重复字段错误忽略 - // log.Printf("Exec SQL: %s\n", line) - // log.Println(err.Error()) + errorStr := strings.ToLower(err.Error()) + // log.Printf("Exec SQL: %s\n", line) + // log.Println(err.Error()) + if strings.Contains(errorStr, "duplicate column") { + // 忽略重复字段错误 Error 1060 (42S21): Duplicate column name 'field_name' + } else if strings.Contains(errorStr, "duplicate key") { + // 忽略重复索引错误 Error 1061 (42000): Duplicate key name 'key_name' + } else if strings.Contains(errorStr, "unknown column") { + // 忽略未知字段错误 Error 1054 (42S22): Unknown column 'field_name' in 'table' + } else if strings.Contains(errorStr, "check that it exists") { + // 忽略删除字段错误 Error 1091 (42000): Can't DROP COLUMN `field_name`; check that it exists } else { // 其他错误终止程序 log.Fatalln(errorStr)