增加获取表结构的方法 + 单元测试

Author:  白茶清欢 <go_developer@163.com>
This commit is contained in:
2022-05-16 11:49:05 +08:00
parent b2dcef0553
commit ffb2a4608a
2 changed files with 51 additions and 4 deletions

View File

@ -8,6 +8,8 @@
package mysql
import (
"fmt"
"gorm.io/gorm"
)
@ -44,12 +46,11 @@ func (sd *SystemDao) GetTableList(dbInstance *gorm.DB) ([]string, error) {
func (sd *SystemDao) GetCreateTableSQL(dbInstance *gorm.DB, table string) (string, error) {
var (
err error
result string
result map[string]interface{}
)
if err = dbInstance.Raw("SHOW CREATE TABLE " + table).Scan(&result).Error; nil != err {
err = dbInstance.Exec("SHOW CREATE TABLE `" + table + "`;").Row().Scan(&result)
if err = dbInstance.Raw("SHOW CREATE TABLE `" + table + "`").Scan(&result).Error; nil != err {
return "", err
}
return result, nil
return fmt.Sprintf("%v", result["Create Table"]), nil
}