package internal

import (
	"common/connection"
	"goutil/logUtilPlus"
)

// ExecSql 执行sql
func ExecSql(sql string) error {

	defer func() error {
		if err := recover(); err != nil {
			logUtilPlus.ErrorLog("mq远程执行sql异常，对应sql：%s", sql)

			//写入失败的文件，便于后续排查
			AddSqlErr(sql)
		}
		return nil
	}()

	//获取数据库连接
	db := connection.GetAdminDB()

	logUtilPlus.InfoLog("执行sql:%s", sql)

	//执行sql
	err := db.Exec(sql).Error

	//判断错误
	if err != nil {

		//记录错误
		logUtilPlus.ErrorLog("ExecSql error:", err)
	}

	return nil
}
