增加数据表结构查询的方法

This commit is contained in:
2023-08-16 23:16:35 +08:00
parent 42208f1b2d
commit 73949714fc
3 changed files with 95 additions and 14 deletions

View File

@ -93,3 +93,47 @@ func (sd *SystemDao) GetCreateTableSQL(dbInstance *gorm.DB, table string) (strin
}
return fmt.Sprintf("%v", result["Create Table"]), nil
}
// GetTableDesc 获取数据表的描述
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 22:37 2023/8/16
func (sd *SystemDao) GetTableDesc(dbInstance *gorm.DB, database string, tableName string) ([]*DescTableItem, error) {
var (
err error
result []*DescTableItem
)
if err = dbInstance.Raw("DESC `" + tableName + "`").Scan(&result).Error; nil != err {
return nil, err
}
// 查询comment信息
tableInfo, _ := sd.GetTableInfo(dbInstance, database, tableName)
tableInfoTable := make(map[string]string)
for _, item := range tableInfo {
tableInfoTable[item.ColumnName] = item.ColumnComment
}
for _, item := range result {
item.Comment = tableInfoTable[item.Field]
}
return result, nil
}
// GetTableInfo 查询别熬结构
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 23:10 2023/8/16
func (sd *SystemDao) GetTableInfo(dbInstance *gorm.DB, database string, tableName string) ([]*ColumnInfo, error) {
var (
list []*ColumnInfo
err error
)
err = dbInstance.Table("INFORMATION_SCHEMA.COLUMNS").Where(map[string]string{
"TABLE_SCHEMA": database,
"TABLE_NAME": tableName,
}).Scan(&list).Error
return list, err
}