Added package name CLI flags for Model, Table, View and Enum
This commit is contained in:
parent
3ca17766f7
commit
94412b797c
1 changed files with 32 additions and 2 deletions
|
|
@ -43,6 +43,10 @@ var (
|
||||||
ignoreEnums string
|
ignoreEnums string
|
||||||
|
|
||||||
destDir string
|
destDir string
|
||||||
|
modelPkg string
|
||||||
|
tablePkg string
|
||||||
|
viewPkg string
|
||||||
|
enumPkg string
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
|
@ -71,6 +75,10 @@ func init() {
|
||||||
flag.StringVar(&ignoreEnums, "ignore-enums", "", `Comma-separated list of enums to ignore`)
|
flag.StringVar(&ignoreEnums, "ignore-enums", "", `Comma-separated list of enums to ignore`)
|
||||||
|
|
||||||
flag.StringVar(&destDir, "path", "", "Destination dir for files generated.")
|
flag.StringVar(&destDir, "path", "", "Destination dir for files generated.")
|
||||||
|
flag.StringVar(&modelPkg, "model-pkg", "", "Package name for the model files generated")
|
||||||
|
flag.StringVar(&tablePkg, "table-pkg", "", "Package name for the table files generated")
|
||||||
|
flag.StringVar(&viewPkg, "view-pkg", "", "Package name for the view files generated")
|
||||||
|
flag.StringVar(&enumPkg, "enum-pkg", "", "Package name for the enum files generated")
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
|
@ -170,6 +178,7 @@ func usage() {
|
||||||
"source", "dsn", "host", "port", "user", "password", "dbname", "schema", "params", "sslmode",
|
"source", "dsn", "host", "port", "user", "password", "dbname", "schema", "params", "sslmode",
|
||||||
"path",
|
"path",
|
||||||
"ignore-tables", "ignore-views", "ignore-enums",
|
"ignore-tables", "ignore-views", "ignore-enums",
|
||||||
|
"model-pkg", "table-pkg", "view-pkg", "enum-pkg",
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, name := range order {
|
for _, name := range order {
|
||||||
|
|
@ -243,10 +252,16 @@ func genTemplate(dialect jet.Dialect, ignoreTables []string, ignoreViews []strin
|
||||||
return strslice.Contains(ignoreEnums, strings.ToLower(enum.Name))
|
return strslice.Contains(ignoreEnums, strings.ToLower(enum.Name))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
model := template.DefaultModel()
|
||||||
|
|
||||||
|
if modelPkg != "" {
|
||||||
|
model = model.UsePath("/" + modelPkg)
|
||||||
|
}
|
||||||
|
|
||||||
return template.Default(dialect).
|
return template.Default(dialect).
|
||||||
UseSchema(func(schemaMetaData metadata.Schema) template.Schema {
|
UseSchema(func(schemaMetaData metadata.Schema) template.Schema {
|
||||||
return template.DefaultSchema(schemaMetaData).
|
return template.DefaultSchema(schemaMetaData).
|
||||||
UseModel(template.DefaultModel().
|
UseModel(model.
|
||||||
UseTable(func(table metadata.Table) template.TableModel {
|
UseTable(func(table metadata.Table) template.TableModel {
|
||||||
if shouldSkipTable(table) {
|
if shouldSkipTable(table) {
|
||||||
return template.TableModel{Skip: true}
|
return template.TableModel{Skip: true}
|
||||||
|
|
@ -271,18 +286,33 @@ func genTemplate(dialect jet.Dialect, ignoreTables []string, ignoreViews []strin
|
||||||
if shouldSkipTable(table) {
|
if shouldSkipTable(table) {
|
||||||
return template.TableSQLBuilder{Skip: true}
|
return template.TableSQLBuilder{Skip: true}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if tablePkg != "" {
|
||||||
|
return template.DefaultTableSQLBuilder(table).UsePath("/" + tablePkg)
|
||||||
|
}
|
||||||
|
|
||||||
return template.DefaultTableSQLBuilder(table)
|
return template.DefaultTableSQLBuilder(table)
|
||||||
}).
|
}).
|
||||||
UseView(func(table metadata.Table) template.ViewSQLBuilder {
|
UseView(func(table metadata.Table) template.ViewSQLBuilder {
|
||||||
if shouldSkipView(table) {
|
if shouldSkipView(table) {
|
||||||
return template.ViewSQLBuilder{Skip: true}
|
return template.ViewSQLBuilder{Skip: true}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if viewPkg != "" {
|
||||||
|
return template.DefaultViewSQLBuilder(table).UsePath("/" + viewPkg)
|
||||||
|
}
|
||||||
|
|
||||||
return template.DefaultViewSQLBuilder(table)
|
return template.DefaultViewSQLBuilder(table)
|
||||||
}).
|
}).
|
||||||
UseEnum(func(enum metadata.Enum) template.EnumSQLBuilder {
|
UseEnum(func(enum metadata.Enum) template.EnumSQLBuilder {
|
||||||
if shouldSkipEnum(enum) {
|
if shouldSkipEnum(enum) {
|
||||||
return template.EnumSQLBuilder{Skip: true}
|
return template.EnumSQLBuilder{Skip: true}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if enumPkg != "" {
|
||||||
|
return template.DefaultEnumSQLBuilder(enum).UsePath("/" + enumPkg)
|
||||||
|
}
|
||||||
|
|
||||||
return template.DefaultEnumSQLBuilder(enum)
|
return template.DefaultEnumSQLBuilder(enum)
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue