Generator code cleanup.

This commit is contained in:
go-jet 2022-05-13 13:45:41 +02:00
parent 2101088d0e
commit 29c523f381

View file

@ -71,33 +71,7 @@ func init() {
} }
func main() { func main() {
flag.Usage = usage
flag.Usage = func() {
fmt.Println("Jet generator 2.7.0")
fmt.Println()
fmt.Println("Usage:")
order := []string{
"source", "dsn", "host", "port", "user", "password", "dbname", "schema", "params", "sslmode",
"path",
"ignore-tables", "ignore-views", "ignore-enums",
}
for _, name := range order {
flagEntry := flag.CommandLine.Lookup(name)
fmt.Printf(" -%s\n", flagEntry.Name)
fmt.Printf("\t%s\n", flagEntry.Usage)
}
fmt.Println()
fmt.Println(`Example command:
$ jet -dsn=postgresql://jet:jet@localhost:5432/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=sqlite -dsn="file://path/to/sqlite/database/file" -path=./gen
`)
}
flag.Parse() flag.Parse()
if dsn == "" && (source == "" || host == "" || port == 0 || user == "" || dbName == "") { if dsn == "" && (source == "" || host == "" || port == 0 || user == "" || dbName == "") {
@ -112,12 +86,14 @@ func main() {
var err error var err error
switch source { switch source {
case "postgresql", "postgres": case "postgresql", "postgres", "cockroachdb", "cockroach":
generatorTemplate := genTemplate(postgres2.Dialect, ignoreTablesList, ignoreViewsList, ignoreEnumsList) generatorTemplate := genTemplate(postgres2.Dialect, ignoreTablesList, ignoreViewsList, ignoreEnumsList)
if dsn != "" { if dsn != "" {
err = postgresgen.GenerateDSN(dsn, schemaName, destDir, generatorTemplate) err = postgresgen.GenerateDSN(dsn, schemaName, destDir, generatorTemplate)
break break
} }
dbConn := postgresgen.DBConnection{ dbConn := postgresgen.DBConnection{
Host: host, Host: host,
Port: port, Port: port,
@ -138,10 +114,12 @@ func main() {
case "mysql", "mysqlx", "mariadb": case "mysql", "mysqlx", "mariadb":
generatorTemplate := genTemplate(mysql.Dialect, ignoreTablesList, ignoreViewsList, ignoreEnumsList) generatorTemplate := genTemplate(mysql.Dialect, ignoreTablesList, ignoreViewsList, ignoreEnumsList)
if dsn != "" { if dsn != "" {
err = mysqlgen.GenerateDSN(dsn, destDir, generatorTemplate) err = mysqlgen.GenerateDSN(dsn, destDir, generatorTemplate)
break break
} }
dbConn := mysqlgen.DBConnection{ dbConn := mysqlgen.DBConnection{
Host: host, Host: host,
Port: port, Port: port,
@ -160,6 +138,7 @@ func main() {
if dsn == "" { if dsn == "" {
printErrorAndExit("ERROR: required -dsn flag missing.") printErrorAndExit("ERROR: required -dsn flag missing.")
} }
err = sqlitegen.GenerateDSN( err = sqlitegen.GenerateDSN(
dsn, dsn,
destDir, destDir,
@ -179,6 +158,33 @@ func main() {
} }
} }
func usage() {
fmt.Println("Jet generator 2.8.0")
fmt.Println()
fmt.Println("Usage:")
order := []string{
"source", "dsn", "host", "port", "user", "password", "dbname", "schema", "params", "sslmode",
"path",
"ignore-tables", "ignore-views", "ignore-enums",
}
for _, name := range order {
flagEntry := flag.CommandLine.Lookup(name)
fmt.Printf(" -%s\n", flagEntry.Name)
fmt.Printf("\t%s\n", flagEntry.Usage)
}
fmt.Println()
fmt.Println(`Example command:
$ jet -dsn=postgresql://jet:jet@localhost:5432/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=sqlite -dsn="file://path/to/sqlite/database/file" -path=./gen
`)
}
func printErrorAndExit(error string) { func printErrorAndExit(error string) {
fmt.Println("\n", error) fmt.Println("\n", error)
fmt.Println() fmt.Println()