2022-10-15 17:38:34 +08:00
|
|
|
|
package application
|
|
|
|
|
|
|
2022-10-16 14:22:19 +08:00
|
|
|
|
// -----------------------------------元数据接口定义------------------------------------------
|
2022-12-17 22:24:21 +08:00
|
|
|
|
// 数据库元信息接口(表、列、获取表数据等元信息)
|
2022-10-16 14:22:19 +08:00
|
|
|
|
// 所有数据查出来直接用map接收,注意不同数据库实现该接口返回的map中的key需要统一.
|
|
|
|
|
|
// 即: 使用别名统一即可。如table_name AS tableName
|
2022-10-15 17:38:34 +08:00
|
|
|
|
type DbMetadata interface {
|
2022-10-16 14:22:19 +08:00
|
|
|
|
|
2022-10-15 17:38:34 +08:00
|
|
|
|
// 获取表基础元信息
|
|
|
|
|
|
// 表名: tableName, 备注: tableComment
|
|
|
|
|
|
GetTables() []map[string]interface{}
|
|
|
|
|
|
|
|
|
|
|
|
// 获取指定表名的所有列元信息
|
|
|
|
|
|
// 表名: tableName, 列名: columnName, 列类型: columnType, 备注: columnComment, 是否可为null: nullable, 其他信息: extra
|
|
|
|
|
|
GetColumns(tableNames ...string) []map[string]interface{}
|
|
|
|
|
|
|
2022-11-23 20:48:37 +08:00
|
|
|
|
// 获取表主键字段名,没有主键标识则默认第一个字段
|
2022-10-15 17:38:34 +08:00
|
|
|
|
GetPrimaryKey(tablename string) string
|
|
|
|
|
|
|
|
|
|
|
|
// 获取表信息,比GetTables获取更详细的表信息
|
|
|
|
|
|
GetTableInfos() []map[string]interface{}
|
|
|
|
|
|
|
|
|
|
|
|
// 获取表索引信息
|
|
|
|
|
|
GetTableIndex(tableName string) []map[string]interface{}
|
|
|
|
|
|
|
|
|
|
|
|
// 获取建表ddl
|
|
|
|
|
|
GetCreateTableDdl(tableName string) []map[string]interface{}
|
2022-12-17 22:24:21 +08:00
|
|
|
|
|
|
|
|
|
|
// 获取指定表的数据-分页查询
|
|
|
|
|
|
// @return columns: 列字段名;result: 结果集;error: 错误
|
|
|
|
|
|
GetTableRecord(tableName string, pageNum, pageSize int) ([]string, []map[string]interface{}, error)
|
2022-10-15 17:38:34 +08:00
|
|
|
|
}
|