@@ -2,23 +2,24 @@ package utils
22
33import (
44 "context"
5- "database/sql"
65 "fmt"
6+ "log"
7+ "os"
8+ "time"
9+
710 "github.com/golang-migrate/migrate/v4"
811 "github.com/golang-migrate/migrate/v4/database/postgres"
912 _ "github.com/golang-migrate/migrate/v4/source/file"
1013 "github.com/jackc/pgx/v5"
1114 "github.com/jackc/pgx/v5/pgxpool"
12- "log"
13- "os"
14- "time"
15+ "github.com/jackc/pgx/v5/stdlib"
1516)
1617
1718var Database * pgxpool.Pool
1819
1920func InitDatabase () {
2021 connectionString := fmt .Sprintf (
21- "postgres://%s:%s@%s:%s/%s" ,
22+ "postgres://%s:%s@%s:%s/%s?sslmode=disable " ,
2223 os .Getenv ("POSTGRES_USER" ),
2324 os .Getenv ("POSTGRES_PASSWORD" ),
2425 os .Getenv ("POSTGRES_URL" ),
@@ -32,6 +33,7 @@ func InitDatabase() {
3233 }
3334
3435 Database = pool
36+ migrateDatabase (pool )
3537}
3638
3739func GetConnection () * pgxpool.Conn {
@@ -56,21 +58,10 @@ func DoRequest(conn *pgxpool.Conn, query string, args ...any) pgx.Rows {
5658 return rows
5759}
5860
59- func Migrate () {
60- connectionString := fmt .Sprintf (
61- "postgres://%s:%s@%s:%s/%s?sslmode=disable" ,
62- os .Getenv ("POSTGRES_USER" ),
63- os .Getenv ("POSTGRES_PASSWORD" ),
64- os .Getenv ("POSTGRES_URL" ),
65- os .Getenv ("POSTGRES_PORT" ),
66- os .Getenv ("POSTGRES_DB" ),
67- )
61+ func migrateDatabase (pool * pgxpool.Pool ) {
62+ db := stdlib .OpenDBFromPool (pool )
63+ fmt .Printf ("Migrating database %s\n " , pool .Config ().ConnConfig .ConnString ())
6864
69- fmt .Printf ("Migrating database %s\n " , connectionString )
70- db , err := sql .Open ("postgres" , connectionString )
71- if err != nil {
72- log .Fatal (err )
73- }
7465 defer func () {
7566 if err := db .Close (); err != nil {
7667 log .Fatal (err )
0 commit comments