57 lines
1.1 KiB
Go
57 lines
1.1 KiB
Go
// Package mysql ...
|
|
//
|
|
// Description : mysql ...
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 2022-05-15 19:32
|
|
package mysql
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
// SystemDao 执行一些系统的mysql命令
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 19:32 2022/5/15
|
|
type SystemDao struct {
|
|
}
|
|
|
|
// GetTableList 查询数据表
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 19:36 2022/5/15
|
|
func (sd *SystemDao) GetTableList(dbInstance *gorm.DB) ([]string, error) {
|
|
var (
|
|
err error
|
|
result []string
|
|
)
|
|
|
|
if err = dbInstance.Raw("SHOW TABLES").Scan(&result).Error; nil != err {
|
|
return nil, err
|
|
}
|
|
return result, nil
|
|
}
|
|
|
|
// GetCreateTableSQL 获取建表SQL
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 20:58 2022/5/15
|
|
func (sd *SystemDao) GetCreateTableSQL(dbInstance *gorm.DB, table string) (string, error) {
|
|
var (
|
|
err error
|
|
result map[string]interface{}
|
|
)
|
|
|
|
if err = dbInstance.Raw("SHOW CREATE TABLE `" + table + "`").Scan(&result).Error; nil != err {
|
|
return "", err
|
|
}
|
|
return fmt.Sprintf("%v", result["Create Table"]), nil
|
|
}
|