Skip to content

Commit d4ea563

Browse files
committed
Added package name CLI flags for Model, Table, View and Enum
1 parent 5d2c232 commit d4ea563

File tree

1 file changed

+32
-2
lines changed

1 file changed

+32
-2
lines changed

cmd/jet/main.go

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,11 @@ var (
4242
ignoreViews string
4343
ignoreEnums string
4444

45-
destDir string
45+
destDir string
46+
modelPkg string
47+
tablePkg string
48+
viewPkg string
49+
enumPkg string
4650
)
4751

4852
func init() {
@@ -71,6 +75,10 @@ func init() {
7175
flag.StringVar(&ignoreEnums, "ignore-enums", "", `Comma-separated list of enums to ignore`)
7276

7377
flag.StringVar(&destDir, "path", "", "Destination dir for files generated.")
78+
flag.StringVar(&modelPkg, "model-pkg", "", "Package name for the model files generated")
79+
flag.StringVar(&tablePkg, "table-pkg", "", "Package name for the table files generated")
80+
flag.StringVar(&viewPkg, "view-pkg", "", "Package name for the view files generated")
81+
flag.StringVar(&enumPkg, "enum-pkg", "", "Package name for the enum files generated")
7482
}
7583

7684
func main() {
@@ -170,6 +178,7 @@ func usage() {
170178
"source", "dsn", "host", "port", "user", "password", "dbname", "schema", "params", "sslmode",
171179
"path",
172180
"ignore-tables", "ignore-views", "ignore-enums",
181+
"model-pkg", "table-pkg", "view-pkg", "enum-pkg",
173182
}
174183

175184
for _, name := range order {
@@ -243,10 +252,16 @@ func genTemplate(dialect jet.Dialect, ignoreTables []string, ignoreViews []strin
243252
return strslice.Contains(ignoreEnums, strings.ToLower(enum.Name))
244253
}
245254

255+
model := template.DefaultModel()
256+
257+
if modelPkg != "" {
258+
model = model.UsePath("/" + modelPkg)
259+
}
260+
246261
return template.Default(dialect).
247262
UseSchema(func(schemaMetaData metadata.Schema) template.Schema {
248263
return template.DefaultSchema(schemaMetaData).
249-
UseModel(template.DefaultModel().
264+
UseModel(model.
250265
UseTable(func(table metadata.Table) template.TableModel {
251266
if shouldSkipTable(table) {
252267
return template.TableModel{Skip: true}
@@ -271,18 +286,33 @@ func genTemplate(dialect jet.Dialect, ignoreTables []string, ignoreViews []strin
271286
if shouldSkipTable(table) {
272287
return template.TableSQLBuilder{Skip: true}
273288
}
289+
290+
if tablePkg != "" {
291+
return template.DefaultTableSQLBuilder(table).UsePath("/" + tablePkg)
292+
}
293+
274294
return template.DefaultTableSQLBuilder(table)
275295
}).
276296
UseView(func(table metadata.Table) template.ViewSQLBuilder {
277297
if shouldSkipView(table) {
278298
return template.ViewSQLBuilder{Skip: true}
279299
}
300+
301+
if viewPkg != "" {
302+
return template.DefaultViewSQLBuilder(table).UsePath("/" + viewPkg)
303+
}
304+
280305
return template.DefaultViewSQLBuilder(table)
281306
}).
282307
UseEnum(func(enum metadata.Enum) template.EnumSQLBuilder {
283308
if shouldSkipEnum(enum) {
284309
return template.EnumSQLBuilder{Skip: true}
285310
}
311+
312+
if enumPkg != "" {
313+
return template.DefaultEnumSQLBuilder(enum).UsePath("/" + enumPkg)
314+
}
315+
286316
return template.DefaultEnumSQLBuilder(enum)
287317
}),
288318
)

0 commit comments

Comments
 (0)