Files
workspace/code/app/app-go/cmd/check_clothing_tables/main.go
T
2026-06-29 15:48:39 +08:00

60 lines
1.0 KiB
Go

package main
import (
"context"
"fmt"
"os"
"time"
"allapp-go/internal/bootstrap/boots"
"allapp-go/internal/config"
)
func main() {
cfg, err := config.Load()
if err != nil {
exitErr("load config", err)
}
pool, err := boots.InitPgsql(cfg)
if err != nil {
exitErr("connect postgres", err)
}
defer pool.Close()
ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
defer cancel()
rows, err := pool.Query(ctx, `
select table_name
from information_schema.tables
where table_schema = 'public'
and table_name like 'b_clothing_%'
order by table_name
`)
if err != nil {
exitErr("query tables", err)
}
defer rows.Close()
count := 0
for rows.Next() {
var tableName string
if err := rows.Scan(&tableName); err != nil {
exitErr("scan table", err)
}
count++
fmt.Println(tableName)
}
if err := rows.Err(); err != nil {
exitErr("read rows", err)
}
fmt.Printf("total=%d\n", count)
}
func exitErr(step string, err error) {
fmt.Fprintf(os.Stderr, "%s failed: %v\n", step, err)
os.Exit(1)
}