gf/contrib/drivers/dm/dm_tables.go
2024-01-30 20:03:58 +08:00

40 lines
1.0 KiB
Go

// Copyright GoFrame Author(https://goframe.org). All Rights Reserved.
//
// This Source Code Form is subject to the terms of the MIT License.
// If a copy of the MIT was not distributed with this file,
// You can obtain one at https://github.com/gogf/gf.
package dm
import (
"context"
"github.com/gogf/gf/v2/database/gdb"
)
const (
tablesSqlTmp = `SELECT * FROM ALL_TABLES`
)
// Tables retrieves and returns the tables of current schema.
// It's mainly used in cli tool chain for automatically generating the models.
func (d *Driver) Tables(ctx context.Context, schema ...string) (tables []string, err error) {
var result gdb.Result
// When schema is empty, return the default link
link, err := d.SlaveLink(schema...)
if err != nil {
return nil, err
}
// The link has been distinguished and no longer needs to judge the owner
result, err = d.DoSelect(ctx, link, tablesSqlTmp)
if err != nil {
return
}
for _, m := range result {
if v, ok := m["IOT_NAME"]; ok {
tables = append(tables, v.String())
}
}
return
}