fix: 数据库导出失败时将错误提示输出到 SQL 文件

This commit is contained in:
kanzihuang
2023-09-05 22:35:46 +08:00
committed by wanli
parent 929bfb3200
commit b5549c0fae

View File

@@ -247,15 +247,6 @@ func (d *Db) DumpSql(rc *req.Ctx) {
extName = ""
}
defer func() {
if err := recover(); err != nil {
switch t := err.(type) {
case *biz.BizError:
d.MsgApp.CreateAndSend(rc.LoginAccount, ws.ErrMsg("数据库导出失败", t.Error()))
}
}
}()
// 是否需要导出表结构
needStruct := dumpType == "1" || dumpType == "3"
// 是否需要导出数据
@@ -281,7 +272,23 @@ func (d *Db) DumpSql(rc *req.Ctx) {
}
writer := gzipResponseWriter{writer: gzip.NewWriter(g.Writer)}
defer writer.Close()
defer func() {
var msg string
if err := recover(); err != nil {
switch t := err.(type) {
case biz.BizError:
msg = t.Error()
case *biz.BizError:
msg = t.Error()
}
}
if len(msg) > 0 {
msg = "数据库导出失败: " + msg
writer.WriteString(msg)
d.MsgApp.CreateAndSend(rc.LoginAccount, ws.ErrMsg("数据库导出失败", msg))
}
writer.Close()
}()
for _, dbName := range dbNames {
d.dumpDb(writer, dbId, dbName, tables, needStruct, needData, len(dbNames) > 1)
}