Refactored CLI arguments
This commit is contained in:
parent
47fd02fb8d
commit
5add82eacb
1 changed files with 13 additions and 30 deletions
|
|
@ -70,15 +70,15 @@ func init() {
|
||||||
flag.StringVar(&schemaName, "schema", "public", `Database schema name. (default "public")(PostgreSQL only)`)
|
flag.StringVar(&schemaName, "schema", "public", `Database schema name. (default "public")(PostgreSQL only)`)
|
||||||
flag.StringVar(¶ms, "params", "", "Additional connection string parameters(optional). Used only if dsn is not set.")
|
flag.StringVar(¶ms, "params", "", "Additional connection string parameters(optional). Used only if dsn is not set.")
|
||||||
flag.StringVar(&sslmode, "sslmode", "disable", `Whether or not to use SSL. Used only if dsn is not set. (optional)(default "disable")(PostgreSQL only)`)
|
flag.StringVar(&sslmode, "sslmode", "disable", `Whether or not to use SSL. Used only if dsn is not set. (optional)(default "disable")(PostgreSQL only)`)
|
||||||
flag.StringVar(&ignoreTables, "ignore-tables", "", `Comma-separated list of tables to ignore`)
|
flag.StringVar(&ignoreTables, "ignore-tables", "", `Comma-separated list of tables to ignore.`)
|
||||||
flag.StringVar(&ignoreViews, "ignore-views", "", `Comma-separated list of views to ignore`)
|
flag.StringVar(&ignoreViews, "ignore-views", "", `Comma-separated list of views to ignore.`)
|
||||||
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 directory for files generated.")
|
||||||
flag.StringVar(&modelPkg, "model-pkg", "", "Package name for the model files generated")
|
flag.StringVar(&modelPkg, "model-pkg", "model", "Relative path for the Model files package from the destination directory.")
|
||||||
flag.StringVar(&tablePkg, "table-pkg", "", "Package name for the table files generated")
|
flag.StringVar(&tablePkg, "table-pkg", "table", "Relative path for the Table files package from the destination directory.")
|
||||||
flag.StringVar(&viewPkg, "view-pkg", "", "Package name for the view files generated")
|
flag.StringVar(&viewPkg, "view-pkg", "view", "Relative path for the View files package from the destination directory.")
|
||||||
flag.StringVar(&enumPkg, "enum-pkg", "", "Package name for the enum files generated")
|
flag.StringVar(&enumPkg, "enum-pkg", "enum", "Relative path for the Enum files package from the destination directory.")
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
|
@ -195,6 +195,7 @@ func usage() {
|
||||||
$ jet -source=postgres -dsn="user=jet password=jet host=localhost port=5432 dbname=jetdb" -schema=dvds -path=./gen
|
$ jet -source=postgres -dsn="user=jet password=jet host=localhost port=5432 dbname=jetdb" -schema=dvds -path=./gen
|
||||||
$ jet -source=mysql -host=localhost -port=3306 -user=jet -password=jet -dbname=jetdb -path=./gen
|
$ jet -source=mysql -host=localhost -port=3306 -user=jet -password=jet -dbname=jetdb -path=./gen
|
||||||
$ jet -source=sqlite -dsn="file://path/to/sqlite/database/file" -path=./gen
|
$ jet -source=sqlite -dsn="file://path/to/sqlite/database/file" -path=./gen
|
||||||
|
$ jet -source=sqlite -dsn="file://path/to/sqlite/database/file" -path=./gen -model-pkg=./entity
|
||||||
`)
|
`)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -252,16 +253,10 @@ 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(model.
|
UseModel(template.DefaultModel().UsePath(modelPkg).
|
||||||
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}
|
||||||
|
|
@ -287,33 +282,21 @@ func genTemplate(dialect jet.Dialect, ignoreTables []string, ignoreViews []strin
|
||||||
return template.TableSQLBuilder{Skip: true}
|
return template.TableSQLBuilder{Skip: true}
|
||||||
}
|
}
|
||||||
|
|
||||||
if tablePkg != "" {
|
return template.DefaultTableSQLBuilder(table).UsePath(tablePkg)
|
||||||
return template.DefaultTableSQLBuilder(table).UsePath("/" + tablePkg)
|
|
||||||
}
|
|
||||||
|
|
||||||
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).UsePath("/" + viewPkg)
|
|
||||||
}
|
|
||||||
|
|
||||||
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).UsePath("/" + enumPkg)
|
|
||||||
}
|
|
||||||
|
|
||||||
return template.DefaultEnumSQLBuilder(enum)
|
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue