fix: sqlite数据问题时间类型问题修复等

This commit is contained in:
meilin.huang
2024-01-18 17:18:17 +08:00
parent 63f0615445
commit 7c53353c60
18 changed files with 1099 additions and 100 deletions

View File

@@ -7,6 +7,7 @@ import (
"mayfly-go/internal/db/dbm/dbi"
"mayfly-go/pkg/errorx"
"mayfly-go/pkg/utils/anyx"
"mayfly-go/pkg/utils/collx"
"reflect"
"regexp"
"strings"
@@ -68,7 +69,7 @@ func (od *OracleDialect) GetTables() ([]dbi.Table, error) {
tables := make([]dbi.Table, 0)
for _, re := range res {
tables = append(tables, dbi.Table{
TableName: re["TABLE_NAME"].(string),
TableName: anyx.ConvString(re["TABLE_NAME"]),
TableComment: anyx.ConvString(re["TABLE_COMMENT"]),
CreateTime: anyx.ConvString(re["CREATE_TIME"]),
TableRows: anyx.ConvInt(re["TABLE_ROWS"]),
@@ -81,13 +82,10 @@ func (od *OracleDialect) GetTables() ([]dbi.Table, error) {
// 获取列元信息, 如列名等
func (od *OracleDialect) GetColumns(tableNames ...string) ([]dbi.Column, error) {
tableName := ""
for i := 0; i < len(tableNames); i++ {
if i != 0 {
tableName = tableName + ", "
}
tableName = tableName + "'" + tableNames[i] + "'"
}
dbType := od.dc.Info.Type
tableName := strings.Join(collx.ArrayMap[string, string](tableNames, func(val string) string {
return fmt.Sprintf("'%s'", dbType.RemoveQuote(val))
}), ",")
_, res, err := od.dc.Query(fmt.Sprintf(dbi.GetLocalSql(ORACLE_META_FILE, ORACLE_COLUMN_MA_KEY), tableName))
if err != nil {
@@ -102,8 +100,8 @@ func (od *OracleDialect) GetColumns(tableNames ...string) ([]dbi.Column, error)
defaultVal = ""
}
columns = append(columns, dbi.Column{
TableName: re["TABLE_NAME"].(string),
ColumnName: re["COLUMN_NAME"].(string),
TableName: anyx.ConvString(re["TABLE_NAME"]),
ColumnName: anyx.ConvString(re["COLUMN_NAME"]),
ColumnType: anyx.ConvString(re["COLUMN_TYPE"]),
ColumnComment: anyx.ConvString(re["COLUMN_COMMENT"]),
Nullable: anyx.ConvString(re["NULLABLE"]),
@@ -142,7 +140,7 @@ func (od *OracleDialect) GetTableIndex(tableName string) ([]dbi.Index, error) {
indexs := make([]dbi.Index, 0)
for _, re := range res {
indexs = append(indexs, dbi.Index{
IndexName: re["INDEX_NAME"].(string),
IndexName: anyx.ConvString(re["INDEX_NAME"]),
ColumnName: anyx.ConvString(re["COLUMN_NAME"]),
IndexType: anyx.ConvString(re["INDEX_TYPE"]),
IndexComment: anyx.ConvString(re["INDEX_COMMENT"]),
@@ -179,7 +177,7 @@ func (od *OracleDialect) GetTableDDL(tableName string) (string, error) {
// 建表ddl
var builder strings.Builder
for _, re := range res {
builder.WriteString(re["TABLE_DDL"].(string))
builder.WriteString(anyx.ConvString(re["TABLE_DDL"]))
}
// 表注释
@@ -230,7 +228,7 @@ func (od *OracleDialect) GetTableDDL(tableName string) (string, error) {
return "", err
}
for _, re := range res {
builder.WriteString("\n\n" + re["INDEX_DEF"].(string))
builder.WriteString("\n\n" + anyx.ConvString(re["INDEX_DEF"]))
}
return builder.String(), nil