Skip to content

Commit af78466

Browse files
committed
feat(gen): gen model support postgres
1 parent fd09b48 commit af78466

6 files changed

Lines changed: 137 additions & 34 deletions

File tree

cmd/gen.go

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -157,16 +157,39 @@ func init() {
157157
genCmd.Flags().BoolP("rpc-style-patch", "", false, "")
158158
genCmd.Flags().BoolP("git-change", "", false, "set is git change, if changes then generate code")
159159
genCmd.Flags().BoolP("route2code", "", false, "is generate route2code")
160+
genCmd.Flags().BoolP("rpc-client", "", false, "is generate rpc client code by goctl")
161+
162+
// mysql model, MarkDeprecated
160163
genCmd.Flags().BoolP("model-mysql-strict", "", false, "goctl model mysql strict mode, see [https://go-zero.dev/docs/tutorials/cli/model]")
164+
_ = genCmd.Flags().MarkDeprecated("model-mysql-strict", "use model-strict instead")
161165
genCmd.Flags().StringSliceP("model-mysql-ignore-columns", "", []string{"create_at", "created_at", "create_time", "update_at", "updated_at", "update_time"}, "ignore columns of mysql model")
166+
_ = genCmd.Flags().MarkDeprecated("model-mysql-ignore-columns", "use model-ignore-columns instead")
162167
genCmd.Flags().StringP("model-mysql-ddl-database", "", "", "goctl model mysql ddl database")
168+
_ = genCmd.Flags().MarkDeprecated("model-mysql-ddl-database", "use model-ddl-database instead")
163169
genCmd.Flags().BoolP("model-mysql-datasource", "", false, "goctl model mysql datasource")
170+
_ = genCmd.Flags().MarkDeprecated("model-mysql-datasource", "use model-datasource instead")
164171
genCmd.Flags().StringP("model-mysql-datasource-url", "", "", "goctl model mysql datasource url")
172+
_ = genCmd.Flags().MarkDeprecated("model-mysql-datasource-url", "use model-datasource-url instead")
165173
genCmd.Flags().StringSliceP("model-mysql-datasource-table", "", []string{"*"}, "goctl model mysql datasource table")
174+
_ = genCmd.Flags().MarkDeprecated("model-mysql-datasource-table", "use model-mysql-datasource-table instead")
166175
genCmd.Flags().BoolP("model-mysql-cache", "", false, "goctl model mysql cache")
176+
_ = genCmd.Flags().MarkDeprecated("model-mysql-cache", "use model-cache instead")
167177
genCmd.Flags().StringP("model-mysql-cache-prefix", "", "", "goctl model mysql cache prefix")
168-
genCmd.Flags().BoolP("mysql-create-table-ddl", "", false, "is generate mysql create table ddl, only datasource mode takes effective")
169-
genCmd.Flags().BoolP("rpc-client", "", false, "is generate rpc client code by goctl")
178+
_ = genCmd.Flags().MarkDeprecated("model-mysql-cache-prefix", "use model-cache-prefix instead")
179+
genCmd.Flags().BoolP("model-mysql-create-table-ddl", "", false, "is generate mysql create table ddl, only datasource mode takes effective")
180+
_ = genCmd.Flags().MarkDeprecated("model-mysql-create-table-ddl", "use model-create-table-ddl instead")
181+
182+
// common model, support more db
183+
genCmd.Flags().StringP("model-driver", "", "mysql", "goctl model driver. mysql or postgres")
184+
genCmd.Flags().BoolP("model-strict", "", false, "goctl model strict mode, see [https://go-zero.dev/docs/tutorials/cli/model]")
185+
genCmd.Flags().StringSliceP("model-ignore-columns", "", []string{"create_at", "created_at", "create_time", "update_at", "updated_at", "update_time"}, "ignore columns of mysql model")
186+
genCmd.Flags().StringP("model-ddl-database", "", "", "goctl model ddl database")
187+
genCmd.Flags().BoolP("model-datasource", "", false, "goctl mysql datasource")
188+
genCmd.Flags().StringP("model-datasource-url", "", "", "goctl model mysql datasource url")
189+
genCmd.Flags().StringSliceP("model-datasource-table", "", []string{"*"}, "goctl model mysql datasource table")
190+
genCmd.Flags().BoolP("model-cache", "", false, "goctl model mysql cache")
191+
genCmd.Flags().StringP("model-cache-prefix", "", "", "goctl model mysql cache prefix")
192+
genCmd.Flags().BoolP("model-create-table-ddl", "", false, "is generate mysql create table ddl, only datasource mode takes effective")
170193
}
171194

172195
{

config/config.go

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,17 +83,28 @@ type GenConfig struct {
8383
// git flags
8484
GitChange bool `mapstructure:"git-change"`
8585

86-
// model flags
87-
ModelMysqlStrict bool `mapstructure:"model-mysql-strict"`
88-
86+
// model flags, MarkDeprecated
87+
ModelMysqlStrict bool `mapstructure:"model-mysql-strict"`
8988
ModelMysqlIgnoreColumns []string `mapstructure:"model-mysql-ignore-columns"`
9089
ModelMysqlDDLDatabase string `mapstructure:"model-mysql-ddl-database"`
9190
ModelMysqlDatasource bool `mapstructure:"model-mysql-datasource"`
9291
ModelMysqlDatasourceUrl string `mapstructure:"model-mysql-datasource-url"`
9392
ModelMysqlDatasourceTable []string `mapstructure:"model-mysql-datasource-table"`
9493
ModelMysqlCache bool `mapstructure:"model-mysql-cache"`
9594
ModelMysqlCachePrefix string `mapstructure:"model-mysql-cache-prefix"`
96-
MysqlCreateTableDDL bool `mapstructure:"mysql-create-table-ddl"`
95+
ModelMysqlCreateTableDDL bool `mapstructure:"model-mysql-create-table-ddl"`
96+
97+
// common model
98+
ModelDriver string `mapstructure:"model-driver"`
99+
ModelStrict bool `mapstructure:"model-strict"`
100+
ModelIgnoreColumns []string `mapstructure:"model-ignore-columns"`
101+
ModelDDLDatabase string `mapstructure:"model-ddl-database"`
102+
ModelDatasource bool `mapstructure:"model-datasource"`
103+
ModelDatasourceUrl string `mapstructure:"model-datasource-url"`
104+
ModelDatasourceTable []string `mapstructure:"model-datasource-table"`
105+
ModelCache bool `mapstructure:"model-cache"`
106+
ModelCachePrefix string `mapstructure:"model-cache-prefix"`
107+
ModelCreateTableDDL bool `mapstructure:"model-create-table-ddl"`
97108

98109
// rpc flags
99110
RpcClient bool `mapstructure:"rpc-client"`

go.mod

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ require (
88
github.com/dave/dst v0.27.3
99
github.com/fsgo/go_fmt v0.6.3
1010
github.com/go-git/go-git/v5 v5.16.0
11+
github.com/go-sql-driver/mysql v1.9.2
1112
github.com/golang-migrate/migrate/v4 v4.18.3
1213
github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3
1314
github.com/hashicorp/go-version v1.7.0
@@ -62,7 +63,6 @@ require (
6263
github.com/go-git/go-billy/v5 v5.6.2 // indirect
6364
github.com/go-logr/logr v1.4.2 // indirect
6465
github.com/go-logr/stdr v1.2.2 // indirect
65-
github.com/go-sql-driver/mysql v1.9.2 // indirect
6666
github.com/go-viper/mapstructure/v2 v2.2.1 // indirect
6767
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect
6868
github.com/golang/protobuf v1.5.4 // indirect
@@ -73,6 +73,10 @@ require (
7373
github.com/hashicorp/go-multierror v1.1.1 // indirect
7474
github.com/huandu/xstrings v1.5.0 // indirect
7575
github.com/inconshreveable/mousetrap v1.1.0 // indirect
76+
github.com/jackc/pgpassfile v1.0.0 // indirect
77+
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
78+
github.com/jackc/pgx/v5 v5.7.4 // indirect
79+
github.com/jackc/puddle/v2 v2.2.2 // indirect
7680
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
7781
github.com/kevinburke/ssh_config v1.2.0 // indirect
7882
github.com/logrusorgru/aurora v2.0.3+incompatible // indirect

go.sum

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,14 @@ github.com/iancoleman/orderedmap v0.3.0 h1:5cbR2grmZR/DiVt+VJopEhtVs9YGInGIxAoMJ
131131
github.com/iancoleman/orderedmap v0.3.0/go.mod h1:XuLcCUkdL5owUCQeF2Ue9uuw1EptkJDkXXS7VoV7XGE=
132132
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
133133
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
134+
github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM=
135+
github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg=
136+
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 h1:iCEnooe7UlwOQYpKFhBabPMi4aNAfoODPEFNiAnClxo=
137+
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM=
138+
github.com/jackc/pgx/v5 v5.7.4 h1:9wKznZrhWa2QiHL+NjTSPP6yjl3451BX3imWDnokYlg=
139+
github.com/jackc/pgx/v5 v5.7.4/go.mod h1:ncY89UGWxg82EykZUwSpUKEfccBGGYq1xjrOpsbsfGQ=
140+
github.com/jackc/puddle/v2 v2.2.2 h1:PR8nw+E/1w0GLuRFSmiioY6UooMp6KJv0/61nB7icHo=
141+
github.com/jackc/puddle/v2 v2.2.2/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4=
134142
github.com/jaronnie/genius v0.5.2 h1:9wm3yDPwfUwV1NF8SDJJVLCtGGGa9Iu52pscGw6mu14=
135143
github.com/jaronnie/genius v0.5.2/go.mod h1:8JV/ENGBhpWkUVjxLCWT1MitnYNj1W+IutAdLzfW/H8=
136144
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A=
@@ -252,6 +260,7 @@ github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpE
252260
github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY=
253261
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
254262
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
263+
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
255264
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
256265
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
257266
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=

internal/gen/genmodel/gen.go

Lines changed: 82 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,14 @@ import (
1515
"strings"
1616
"sync"
1717

18+
"github.com/go-sql-driver/mysql"
1819
"github.com/jzero-io/jzero-contrib/filex"
1920
"github.com/pkg/errors"
2021
"github.com/samber/lo"
2122
"github.com/spf13/cast"
2223
"github.com/zeromicro/go-zero/core/color"
2324
"github.com/zeromicro/go-zero/core/logx"
25+
"github.com/zeromicro/go-zero/core/stores/postgres"
2426
"github.com/zeromicro/go-zero/core/stores/sqlx"
2527
"github.com/zeromicro/go-zero/tools/goctl/model/sql/parser"
2628
"github.com/zeromicro/go-zero/tools/goctl/util/format"
@@ -66,14 +68,29 @@ func (jm *JzeroModel) Gen() error {
6668
sqlConn sqlx.SqlConn
6769
)
6870

69-
if config.C.Gen.ModelMysqlDatasource {
71+
if config.C.Gen.ModelDriver == "postgres" && !config.C.Gen.ModelDatasource {
72+
return errors.New("postgres model only support datasource mode")
73+
}
74+
75+
if config.C.Gen.ModelMysqlDatasource || config.C.Gen.ModelDatasource {
7076
if jm.IsNew {
7177
fmt.Printf("%s you are using mysql datesource to generate model code, please manual execute jzero gen command\n", color.WithColor("Detected", color.FgRed))
7278
return nil
7379
}
74-
sqlConn = sqlx.NewMysql(config.C.Gen.ModelMysqlDatasourceUrl)
7580

76-
tables, err := getMysqlAllTables(sqlConn)
81+
switch config.C.Gen.ModelDriver {
82+
case "mysql":
83+
if config.C.Gen.ModelMysqlDatasourceUrl != "" {
84+
config.C.Gen.ModelDatasourceUrl = config.C.Gen.ModelMysqlDatasourceUrl
85+
}
86+
sqlConn = sqlx.NewMysql(config.C.Gen.ModelDatasourceUrl)
87+
case "postgres":
88+
sqlConn = postgres.New(config.C.Gen.ModelDatasourceUrl)
89+
default:
90+
return errors.Errorf("model driver %s not support", config.C.Gen.ModelDriver)
91+
}
92+
93+
tables, err := getAllTables(sqlConn, config.C.Gen.ModelDriver)
7794
if err != nil {
7895
return err
7996
}
@@ -84,7 +101,7 @@ func (jm *JzeroModel) Gen() error {
84101
if err != nil {
85102
return err
86103
}
87-
if !config.C.Gen.MysqlCreateTableDDL {
104+
if !config.C.Gen.ModelMysqlCreateTableDDL || !config.C.Gen.ModelCreateTableDDL {
88105
defer func() {
89106
for _, v := range writeTables {
90107
if err = os.Remove(v); err != nil {
@@ -161,18 +178,18 @@ func (jm *JzeroModel) Gen() error {
161178
var mu sync.Mutex
162179

163180
if len(genCodeSqlFiles) != 0 {
164-
if config.C.Gen.ModelMysqlDatasource {
165-
tables, err := getMysqlAllTables(sqlConn)
181+
if config.C.Gen.ModelMysqlDatasource || config.C.Gen.ModelDatasource {
182+
tables, err := getAllTables(sqlConn, config.C.Gen.ModelDriver)
166183
if err != nil {
167184
return err
168185
}
169-
if len(config.C.Gen.ModelMysqlDatasourceTable) != 0 && config.C.Gen.ModelMysqlDatasourceTable[0] != "*" {
186+
if (len(config.C.Gen.ModelMysqlDatasourceTable) != 0 && config.C.Gen.ModelMysqlDatasourceTable[0] != "*") || (len(config.C.Gen.ModelDatasourceTable) != 0 && config.C.Gen.ModelDatasourceTable[0] != "*") {
170187
for _, v := range tables {
171-
if lo.Contains(config.C.Gen.ModelMysqlDatasourceTable, cast.ToString(v)) {
188+
if lo.Contains(config.C.Gen.ModelMysqlDatasourceTable, cast.ToString(v)) || lo.Contains(config.C.Gen.ModelDatasourceTable, cast.ToString(v)) {
172189
allTables = append(allTables, v)
173190
}
174191
}
175-
} else if len(config.C.Gen.ModelMysqlDatasourceTable) != 0 && config.C.Gen.ModelMysqlDatasourceTable[0] == "*" {
192+
} else if (len(config.C.Gen.ModelMysqlDatasourceTable) != 0 && config.C.Gen.ModelMysqlDatasourceTable[0] == "*") || (len(config.C.Gen.ModelDatasourceTable) != 0 && config.C.Gen.ModelDatasourceTable[0] == "*") {
176193
allTables = tables
177194
}
178195
for _, f := range allFiles {
@@ -218,12 +235,38 @@ func (jm *JzeroModel) Gen() error {
218235

219236
bf := filepath.Base(f)
220237
modelDir := filepath.Join("internal", "model", strings.ToLower(bf[0:len(bf)-len(path.Ext(bf))]))
221-
cmd := exec.Command("goctl", "model", "mysql", "ddl", "--database", config.C.Gen.ModelMysqlDDLDatabase, "--src", f, "--dir", modelDir, "--home", goctlHome, "--style", config.C.Gen.Style, "-i", strings.Join(config.C.Gen.ModelMysqlIgnoreColumns, ","), "--cache="+fmt.Sprintf("%t", config.C.Gen.ModelMysqlCache), "--strict="+fmt.Sprintf("%t", config.C.Gen.ModelMysqlStrict))
222-
resp, err := cmd.CombinedOutput()
223-
if err != nil {
224-
return errors.Errorf("gen model code meet error. Err: %s:%s", err.Error(), resp)
238+
239+
var ddlDatabase string
240+
if config.C.Gen.ModelMysqlDDLDatabase != "" {
241+
ddlDatabase = config.C.Gen.ModelMysqlDDLDatabase
242+
} else if config.C.Gen.ModelMysqlDatasourceUrl != "" {
243+
mysqlDsn, err := mysql.ParseDSN(config.C.Gen.ModelMysqlDatasourceUrl)
244+
if err != nil {
245+
return err
246+
}
247+
ddlDatabase = mysqlDsn.DBName
225248
}
226-
if config.C.Gen.ModelMysqlCachePrefix != "" && config.C.Gen.ModelMysqlCache {
249+
250+
if config.C.Gen.ModelDriver == "postgres" {
251+
cmd := exec.Command("goctl", "model", "pg", "datasource", "--url", config.C.Gen.ModelDatasourceUrl, "-t", strings.TrimSuffix(filepath.Base(f), ".sql"), "--dir", modelDir, "--home", goctlHome, "--style", config.C.Gen.Style, "-i", strings.Join(config.C.Gen.ModelIgnoreColumns, ","), "--cache="+fmt.Sprintf("%t", config.C.Gen.ModelCache), "--strict="+fmt.Sprintf("%t", config.C.Gen.ModelStrict))
252+
logx.Debug(cmd.String())
253+
resp, err := cmd.CombinedOutput()
254+
if err != nil {
255+
return errors.Errorf("gen model code meet error. Err: %s:%s", err.Error(), resp)
256+
}
257+
} else {
258+
if config.C.Gen.ModelMysqlCache {
259+
config.C.Gen.ModelCache = true
260+
}
261+
cmd := exec.Command("goctl", "model", "mysql", "ddl", "--database", ddlDatabase, "--src", f, "--dir", modelDir, "--home", goctlHome, "--style", config.C.Gen.Style, "-i", strings.Join(config.C.Gen.ModelMysqlIgnoreColumns, ","), "--cache="+fmt.Sprintf("%t", config.C.Gen.ModelCache), "--strict="+fmt.Sprintf("%t", config.C.Gen.ModelMysqlStrict))
262+
logx.Debug(cmd.String())
263+
resp, err := cmd.CombinedOutput()
264+
if err != nil {
265+
return errors.Errorf("gen model code meet error. Err: %s:%s", err.Error(), resp)
266+
}
267+
}
268+
269+
if (config.C.Gen.ModelMysqlCachePrefix != "" && config.C.Gen.ModelMysqlCache) || (config.C.Gen.ModelCachePrefix != "" && config.C.Gen.ModelCache) {
227270
for _, tp := range tableParsers {
228271
namingFormat, err := format.FileNamingFormat(config.C.Gen.Style, tp.Name.Source())
229272
if err != nil {
@@ -233,7 +276,7 @@ func (jm *JzeroModel) Gen() error {
233276
if config.C.Gen.Style == "go_zero" {
234277
file = namingFormat + "_model_gen.go"
235278
}
236-
err = jm.addModelMysqlCachePrefix(filepath.Join(modelDir, file))
279+
err = jm.addModelCachePrefix(filepath.Join(modelDir, file))
237280
if err != nil {
238281
return err
239282
}
@@ -251,7 +294,7 @@ func (jm *JzeroModel) Gen() error {
251294
return nil
252295
}
253296

254-
func (jm *JzeroModel) addModelMysqlCachePrefix(fp string) error {
297+
func (jm *JzeroModel) addModelCachePrefix(fp string) error {
255298
fset := token.NewFileSet()
256299
f, err := goparser.ParseFile(fset, fp, nil, goparser.ParseComments)
257300
if err != nil {
@@ -266,7 +309,11 @@ func (jm *JzeroModel) addModelMysqlCachePrefix(fp string) error {
266309
if strings.HasPrefix(name.Name, "cache") && strings.HasSuffix(name.Name, "Prefix") {
267310
value := valueSpec.Values[i]
268311
if basicLit, ok := value.(*ast.BasicLit); ok {
269-
basicLit.Value = fmt.Sprintf(`"%s%s"`, config.C.Gen.ModelMysqlCachePrefix, strings.ReplaceAll(basicLit.Value, "\"", ""))
312+
if config.C.Gen.ModelCachePrefix != "" {
313+
basicLit.Value = fmt.Sprintf(`"%s%s"`, config.C.Gen.ModelCachePrefix, strings.ReplaceAll(basicLit.Value, "\"", ""))
314+
} else if config.C.Gen.ModelMysqlCachePrefix != "" {
315+
basicLit.Value = fmt.Sprintf(`"%s%s"`, config.C.Gen.ModelMysqlCachePrefix, strings.ReplaceAll(basicLit.Value, "\"", ""))
316+
}
270317
}
271318
}
272319
}
@@ -286,15 +333,20 @@ func (jm *JzeroModel) addModelMysqlCachePrefix(fp string) error {
286333
return nil
287334
}
288335

289-
type Table struct {
290-
Name string `db:"name"`
291-
}
292-
293-
func getMysqlAllTables(sqlConn sqlx.SqlConn) ([]string, error) {
336+
func getAllTables(sqlConn sqlx.SqlConn, driver string) ([]string, error) {
294337
var tables []string
295-
err := sqlConn.QueryRowsCtx(context.Background(), &tables, "show tables")
296-
if err != nil {
297-
return nil, err
338+
339+
switch driver {
340+
case "mysql":
341+
err := sqlConn.QueryRowsCtx(context.Background(), &tables, "show tables")
342+
if err != nil {
343+
return nil, err
344+
}
345+
case "postgres":
346+
err := sqlConn.QueryRowsCtx(context.Background(), &tables, "select tablename from pg_tables where schemaname = 'public'")
347+
if err != nil {
348+
return nil, err
349+
}
298350
}
299351
return tables, nil
300352
}
@@ -303,7 +355,11 @@ type ShowCreateTableResult struct {
303355
DDL string `db:"Create Table"`
304356
}
305357

306-
func getTableDDL(sqlConn sqlx.SqlConn, table string) (string, error) {
358+
func getTableDDL(sqlConn sqlx.SqlConn, driver, table string) (string, error) {
359+
if driver == "postgres" {
360+
return "-- todo", nil
361+
}
362+
307363
var showCreateTableResult ShowCreateTableResult
308364
err := sqlConn.QueryRowCtx(context.Background(), &showCreateTableResult, "show create table "+table)
309365
if err != nil {

internal/gen/genmodel/plugins.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ func (jm *JzeroModel) GenDDL(sqlConn sqlx.SqlConn, tables []string) ([]string, e
6464
for _, t := range tables {
6565
ct := t
6666
eg.Go(func() error {
67-
ddl, err := getTableDDL(sqlConn, ct)
67+
ddl, err := getTableDDL(sqlConn, config.C.Gen.ModelDriver, ct)
6868
if err != nil {
6969
return err
7070
}

0 commit comments

Comments
 (0)