blob: cc3473d524ba83b41aca0c13667a7d93df5c2103 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
// Package database provides functions and structs to interact with the
// postgres database
package database
import (
"context"
"log"
"os"
"github.com/golang-migrate/migrate/v4"
_ "github.com/golang-migrate/migrate/v4/database/postgres"
_ "github.com/golang-migrate/migrate/v4/source/file"
"github.com/jackc/pgx/v5/pgxpool"
)
var DB *pgxpool.Pool
func ConnectDB() {
url := os.Getenv("POSTGRES_URL")
var err error
DB, err = pgxpool.New(context.Background(), url)
if err != nil {
log.Fatal(err)
}
runMigrations()
log.Println("Successfully connected to database")
}
func runMigrations() {
m, err := migrate.New("file://./migrations", os.Getenv("POSTGRES_URL"))
if err != nil {
log.Fatal(err)
}
m.Steps(2)
}
|