jet/cmd/jetgen/main.go

66 lines
1.4 KiB
Go
Raw Normal View History

package main
import (
"flag"
"fmt"
2019-06-23 18:55:57 +02:00
"github.com/go-jet/jet/generator/postgresgen"
"os"
)
2019-05-24 13:13:13 +02:00
var (
host string
port string
user string
password string
sslmode string
params string
dbName string
schemaName string
destDir string
)
func init() {
2019-05-24 13:13:13 +02:00
flag.StringVar(&host, "host", "", "Database host path (Example: localhost)")
flag.StringVar(&port, "port", "", "Database port")
flag.StringVar(&user, "user", "", "Database user")
flag.StringVar(&password, "password", "", "The users password")
2019-06-24 18:22:55 +02:00
flag.StringVar(&sslmode, "sslmode", "disable", "Whether or not to use SSL(optional)")
flag.StringVar(&params, "params", "", "Additional connection string parameters(optional)")
2019-05-24 13:13:13 +02:00
flag.StringVar(&dbName, "dbname", "", "name of the database")
flag.StringVar(&schemaName, "schema", "public", "Database schema name.")
2019-05-24 13:13:13 +02:00
flag.StringVar(&destDir, "path", "", "Destination dir for generated files.")
flag.Parse()
}
func main() {
2019-06-24 18:22:55 +02:00
if host == "" || port == "" || user == "" || dbName == "" || schemaName == "" {
fmt.Println("jetgen: required flag missing")
flag.Usage()
os.Exit(-2)
}
2019-06-23 18:55:57 +02:00
genData := postgresgen.DBConnection{
2019-05-24 13:13:13 +02:00
Host: host,
Port: port,
User: user,
Password: password,
SslMode: sslmode,
Params: params,
2019-06-11 12:47:35 +02:00
DBName: dbName,
2019-05-24 13:13:13 +02:00
SchemaName: schemaName,
}
2019-06-23 18:55:57 +02:00
err := postgresgen.Generate(destDir, genData)
if err != nil {
fmt.Println(err.Error())
os.Exit(-1)
}
}