// 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 }