Files
pgm/cmd/main.go

51 lines
928 B
Go
Raw Normal View History

2025-07-26 18:34:56 +05:30
// Patial Tech.
// Author, Ankit Patial
package main
import (
"flag"
"fmt"
"os"
)
2025-11-16 11:37:02 +05:30
var (
showVersion bool
)
const usageTxt = `Please provide output directory and input schema.
2025-07-26 18:34:56 +05:30
Example:
2025-11-16 11:37:02 +05:30
pgm -o ./db ./schema.sql
2025-07-26 18:34:56 +05:30
`
func main() {
var outDir string
flag.StringVar(&outDir, "o", "", "-o as output directory path")
2025-11-16 11:37:02 +05:30
flag.BoolVar(&showVersion, "version", false, "show version information")
2025-07-26 18:34:56 +05:30
flag.Parse()
2025-11-16 11:37:02 +05:30
// Handle version flag
if showVersion {
fmt.Printf("pgm %s\n", GetVersionString())
fmt.Println("PostgreSQL Query Mapper - Schema code generator")
fmt.Println("https://code.patial.tech/go/pgm")
return
}
2025-07-26 18:34:56 +05:30
if len(os.Args) < 4 {
fmt.Print(usageTxt)
return
}
if outDir == "" {
2025-11-16 11:37:02 +05:30
fmt.Fprintln(os.Stderr, "Error: missing output directory path (-o flag required)")
2025-07-26 18:34:56 +05:30
os.Exit(1)
return
}
if err := generate(os.Args[3], outDir); err != nil {
2025-11-16 11:37:02 +05:30
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
2025-07-26 18:34:56 +05:30
os.Exit(1)
}
}