From bd8d046b83d9e118bcecdadf3b1f8cf4cad614ba Mon Sep 17 00:00:00 2001 From: Insua Date: Thu, 30 May 2024 21:20:46 +0800 Subject: [PATCH] cmd/gf: add `DaMeng` database driver support (#3606) --- cmd/gf/go.mod | 1 + cmd/gf/go.work | 1 + cmd/gf/internal/cmd/cmd_gen_dao.go | 1 + cmd/gf/internal/cmd/gendao/gendao_dao.go | 8 ++++---- cmd/gf/internal/cmd/gendao/gendao_do.go | 4 ++-- cmd/gf/internal/cmd/gendao/gendao_entity.go | 4 ++-- cmd/gf/internal/cmd/gendao/gendao_structure.go | 2 +- 7 files changed, 12 insertions(+), 9 deletions(-) diff --git a/cmd/gf/go.mod b/cmd/gf/go.mod index 0c3ad4cc406..c59ab180f40 100644 --- a/cmd/gf/go.mod +++ b/cmd/gf/go.mod @@ -9,6 +9,7 @@ require ( github.com/gogf/gf/contrib/drivers/oracle/v2 v2.7.1 github.com/gogf/gf/contrib/drivers/pgsql/v2 v2.7.1 github.com/gogf/gf/contrib/drivers/sqlite/v2 v2.7.1 + github.com/gogf/gf/contrib/drivers/dm/v2 v2.7.1 github.com/gogf/gf/v2 v2.7.1 github.com/gogf/selfupdate v0.0.0-20231215043001-5c48c528462f github.com/olekukonko/tablewriter v0.0.5 diff --git a/cmd/gf/go.work b/cmd/gf/go.work index b490026965a..ece415d96ab 100644 --- a/cmd/gf/go.work +++ b/cmd/gf/go.work @@ -16,5 +16,6 @@ replace ( github.com/gogf/gf/contrib/drivers/oracle/v2 => ../../contrib/drivers/oracle github.com/gogf/gf/contrib/drivers/pgsql/v2 => ../../contrib/drivers/pgsql github.com/gogf/gf/contrib/drivers/sqlite/v2 => ../../contrib/drivers/sqlite + github.com/gogf/gf/contrib/drivers/dm/v2 => ../../contrib/drivers/dm github.com/gogf/gf/v2 => ../../ ) diff --git a/cmd/gf/internal/cmd/cmd_gen_dao.go b/cmd/gf/internal/cmd/cmd_gen_dao.go index 8862696e1dc..e64b0e5be12 100644 --- a/cmd/gf/internal/cmd/cmd_gen_dao.go +++ b/cmd/gf/internal/cmd/cmd_gen_dao.go @@ -8,6 +8,7 @@ package cmd import ( _ "github.com/gogf/gf/contrib/drivers/clickhouse/v2" + _ "github.com/gogf/gf/contrib/drivers/dm/v2" _ "github.com/gogf/gf/contrib/drivers/mssql/v2" _ "github.com/gogf/gf/contrib/drivers/mysql/v2" _ "github.com/gogf/gf/contrib/drivers/oracle/v2" diff --git a/cmd/gf/internal/cmd/gendao/gendao_dao.go b/cmd/gf/internal/cmd/gendao/gendao_dao.go index 25ffbd460f9..8485286177c 100644 --- a/cmd/gf/internal/cmd/gendao/gendao_dao.go +++ b/cmd/gf/internal/cmd/gendao/gendao_dao.go @@ -58,8 +58,8 @@ func generateDaoSingle(ctx context.Context, in generateDaoSingleInput) { mlog.Fatalf(`fetching tables fields failed for table "%s": %+v`, in.TableName, err) } var ( - tableNameCamelCase = gstr.CaseCamel(in.NewTableName) - tableNameCamelLowerCase = gstr.CaseCamelLower(in.NewTableName) + tableNameCamelCase = gstr.CaseCamel(strings.ToLower(in.NewTableName)) + tableNameCamelLowerCase = gstr.CaseCamelLower(strings.ToLower(in.NewTableName)) tableNameSnakeCase = gstr.CaseSnake(in.NewTableName) importPrefix = in.ImportPrefix ) @@ -178,7 +178,7 @@ func generateColumnNamesForDao(fieldMap map[string]*gdb.TableField, removeFieldP } array[index] = []string{ - " #" + gstr.CaseCamel(newFiledName) + ":", + " #" + gstr.CaseCamel(strings.ToLower(newFiledName)) + ":", fmt.Sprintf(` #"%s",`, field.Name), } } @@ -218,7 +218,7 @@ func generateColumnDefinitionForDao(fieldMap map[string]*gdb.TableField, removeF newFiledName = gstr.TrimLeftStr(newFiledName, v, 1) } array[index] = []string{ - " #" + gstr.CaseCamel(newFiledName), + " #" + gstr.CaseCamel(strings.ToLower(newFiledName)), " # " + "string", " #" + fmt.Sprintf(`// %s`, comment), } diff --git a/cmd/gf/internal/cmd/gendao/gendao_do.go b/cmd/gf/internal/cmd/gendao/gendao_do.go index aebfde14c65..afe61ec578b 100644 --- a/cmd/gf/internal/cmd/gendao/gendao_do.go +++ b/cmd/gf/internal/cmd/gendao/gendao_do.go @@ -40,7 +40,7 @@ func generateDo(ctx context.Context, in CGenDaoInternalInput) { structDefinition, _ = generateStructDefinition(ctx, generateStructDefinitionInput{ CGenDaoInternalInput: in, TableName: tableName, - StructName: gstr.CaseCamel(newTableName), + StructName: gstr.CaseCamel(strings.ToLower(newTableName)), FieldMap: fieldMap, IsDo: true, }) @@ -61,7 +61,7 @@ func generateDo(ctx context.Context, in CGenDaoInternalInput) { ctx, in, tableName, - gstr.CaseCamel(newTableName), + gstr.CaseCamel(strings.ToLower(newTableName)), structDefinition, ) in.genItems.AppendGeneratedFilePath(doFilePath) diff --git a/cmd/gf/internal/cmd/gendao/gendao_entity.go b/cmd/gf/internal/cmd/gendao/gendao_entity.go index 355ffedc372..2717df20176 100644 --- a/cmd/gf/internal/cmd/gendao/gendao_entity.go +++ b/cmd/gf/internal/cmd/gendao/gendao_entity.go @@ -36,7 +36,7 @@ func generateEntity(ctx context.Context, in CGenDaoInternalInput) { structDefinition, appendImports = generateStructDefinition(ctx, generateStructDefinitionInput{ CGenDaoInternalInput: in, TableName: tableName, - StructName: gstr.CaseCamel(newTableName), + StructName: gstr.CaseCamel(strings.ToLower(newTableName)), FieldMap: fieldMap, IsDo: false, }) @@ -44,7 +44,7 @@ func generateEntity(ctx context.Context, in CGenDaoInternalInput) { ctx, in, newTableName, - gstr.CaseCamel(newTableName), + gstr.CaseCamel(strings.ToLower(newTableName)), structDefinition, appendImports, ) diff --git a/cmd/gf/internal/cmd/gendao/gendao_structure.go b/cmd/gf/internal/cmd/gendao/gendao_structure.go index 2fa4745ebf4..e9acc8bff77 100644 --- a/cmd/gf/internal/cmd/gendao/gendao_structure.go +++ b/cmd/gf/internal/cmd/gendao/gendao_structure.go @@ -140,7 +140,7 @@ func generateStructFieldDefinition( } attrLines = []string{ - " #" + gstr.CaseCamel(newFiledName), + " #" + gstr.CaseCamel(strings.ToLower(newFiledName)), " #" + localTypeNameStr, } attrLines = append(attrLines, fmt.Sprintf(` #%sjson:"%s"`, tagKey, jsonTag))