this repo has no description
1package main 2 3import ( 4 "os" 5 6 "github.com/ClickHouse/clickhouse-go/v2" 7 "github.com/urfave/cli/v2" 8) 9 10func main() { 11 app := cli.App{ 12 Name: "bodega", 13 Action: run, 14 Flags: []cli.Flag{ 15 &cli.StringFlag{ 16 Name: "clickhouse-addr", 17 EnvVars: []string{"PHOTOCOPY_CLICKHOUSE_ADDR"}, 18 Required: true, 19 }, 20 &cli.StringFlag{ 21 Name: "clickhouse-database", 22 EnvVars: []string{"PHOTOCOPY_CLICKHOUSE_DATABASE"}, 23 Required: true, 24 }, 25 &cli.StringFlag{ 26 Name: "clickhouse-user", 27 EnvVars: []string{"PHOTOCOPY_CLICKHOUSE_USER"}, 28 Value: "default", 29 }, 30 &cli.StringFlag{ 31 Name: "clickhouse-pass", 32 EnvVars: []string{"PHOTOCOPY_CLICKHOUSE_PASS"}, 33 Required: true, 34 }, 35 }, 36 } 37 38 app.Run(os.Args) 39} 40 41var run = func(cmd *cli.Context) error { 42 conn, err := clickhouse.Open(&clickhouse.Options{ 43 Addr: []string{cmd.String("clickhouse-addr")}, 44 Auth: clickhouse.Auth{ 45 Database: cmd.String("clickhouse-database"), 46 Username: cmd.String("clickhouse-user"), 47 Password: cmd.String("clickhouse-pass"), 48 }, 49 }) 50 if err != nil { 51 return err 52 } 53 defer conn.Close() 54 55 var entries []ClickhousePLCEntry 56 if err := conn.Select(cmd.Context, &entries, "SELECT..."); err != nil { 57 return err 58 } 59 60 return nil 61}