Files
lst/controller/pkg/update_server_stats.go

49 lines
933 B
Go

package pkg
import (
"context"
"fmt"
"os"
"github.com/jackc/pgx/v5"
)
func UpdateServerStats(buildNumber int64) {
//url := "postgres://username:password@localhost:5432/database_name"
url := fmt.Sprintf(
"postgres://%v:%v@%v:%v/%v",
os.Getenv("DATABASE_USER"),
os.Getenv("DATABASE_PASSWORD"),
os.Getenv("DATABASE_HOST"),
os.Getenv("DATABASE_PORT"),
os.Getenv("DATABASE_DB"),
)
ctx := context.Background()
conn, err := pgx.Connect(ctx, url)
if err != nil {
fmt.Fprintf(os.Stderr, "Unable to connect to database: %v\n", err)
//os.Exit(1)
}
defer conn.Close(ctx)
sql := `
INSERT INTO public."serverStats" (id, build, "lastUpdate")
VALUES ($1, $2, NOW())
ON CONFLICT (id) DO UPDATE
SET build = EXCLUDED.build,
"lastUpdate" = NOW();
`
_, err = conn.Exec(ctx, sql, "serverStats", buildNumber)
if err != nil {
fmt.Fprintf(os.Stderr, "QueryRow failed: %v\n", err)
//os.Exit(1)
}
}