增加数据表结构查询的方法
This commit is contained in:
44
system.go
44
system.go
@ -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
|
||||
}
|
||||
|
Reference in New Issue
Block a user