Initial Commit

This commit is contained in:
2025-04-29 18:38:14 +09:30
commit 0371b15c8c
7 changed files with 268 additions and 0 deletions

47
main.go Normal file
View File

@@ -0,0 +1,47 @@
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)
}
}