package main import ( "database/sql" "fmt" "log" "os" "github.com/joho/godotenv" _ "github.com/lib/pq" ) func main() { godotenv.Load(".env") dbURL := os.Getenv("DATABASE_URL") if dbURL == "" { // Fallback host := os.Getenv("DB_HOST") port := os.Getenv("DB_PORT") user := os.Getenv("DB_USER") pass := os.Getenv("DB_PASSWORD") name := os.Getenv("DB_NAME") ssl := os.Getenv("DB_SSLMODE") if host != "" { dbURL = fmt.Sprintf("postgres://%s:%s@%s:%s/%s?sslmode=%s", user, pass, host, port, name, ssl) } else { log.Fatal("DB URL not found") } } db, err := sql.Open("postgres", dbURL) if err != nil { log.Fatal(err) } defer db.Close() rows, err := db.Query(` SELECT column_name, data_type FROM information_schema.columns WHERE table_name = 'users'; `) if err != nil { log.Fatal(err) } defer rows.Close() fmt.Println("USERS TABLE SCHEMA:") for rows.Next() { var colName, dataType string rows.Scan(&colName, &dataType) fmt.Printf("%s: %s\n", colName, dataType) } }