44 lines
618 B
Go
44 lines
618 B
Go
package sqlgen
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
)
|
|
|
|
func Main() {
|
|
usage := func() {
|
|
fmt.Fprintf(os.Stderr, `
|
|
%s DRIVER DEFS_PATH OUTPUT_PATH
|
|
|
|
Drivers are one of: sqlite, postgres
|
|
`,
|
|
os.Args[0])
|
|
os.Exit(1)
|
|
}
|
|
|
|
if len(os.Args) != 4 {
|
|
usage()
|
|
}
|
|
|
|
var (
|
|
template string
|
|
driver = os.Args[1]
|
|
defsPath = os.Args[2]
|
|
outputPath = os.Args[3]
|
|
)
|
|
|
|
switch driver {
|
|
case "sqlite":
|
|
template = sqliteTemplate
|
|
default:
|
|
fmt.Fprintf(os.Stderr, "Unknown driver: %s", driver)
|
|
usage()
|
|
}
|
|
|
|
err := render(template, defsPath, outputPath)
|
|
if err != nil {
|
|
fmt.Fprintf(os.Stderr, "Error: %v", err)
|
|
os.Exit(1)
|
|
}
|
|
}
|