package main import ( "fmt" "os" "github.com/spf13/cobra" ) var ( dbname string host string port int username string password string table string numRows int ) func main() { var rootCmd = &cobra.Command{ Use: "sqlcsvgen [output.csv]", Short: "A CLI tool to generate random CSV data for SQL tables.", Args: cobra.ExactArgs(1), Run: func(cmd *cobra.Command, args []string) { if err := generateCSV(args[0]); err != nil { fmt.Println(err) os.Exit(1) } }, } rootCmd.Flags().StringVarP(&dbname, "dbname", "d", "", "Database name") rootCmd.Flags().StringVarP(&host, "host", "s", "localhost", "Host address") rootCmd.Flags().IntVarP(&port, "port", "p", 1433, "Port number") rootCmd.Flags().StringVarP(&username, "user", "u", "", "Database username") rootCmd.Flags().StringVarP(&password, "password", "w", "", "Database password") rootCmd.Flags().IntVarP(&numRows, "num-rows", "n", 1000, "Number of rows to generate") rootCmd.Flags().StringVarP(&table, "table", "t", "", "Table to generate data") rootCmd.MarkFlagRequired("dbname") rootCmd.MarkFlagRequired("table") if err := rootCmd.Execute(); err != nil { fmt.Println(err) os.Exit(1) } }