30 lines
586 B
Go
30 lines
586 B
Go
package database
|
|
|
|
import (
|
|
"database/sql"
|
|
"fmt"
|
|
"github.com/joho/godotenv"
|
|
"log"
|
|
"os"
|
|
)
|
|
|
|
var DB *sql.DB
|
|
|
|
func Init() (*sql.DB, error) {
|
|
err := godotenv.Load(".env")
|
|
if err != nil {
|
|
log.Fatal("Error loading .env file")
|
|
}
|
|
password := os.Getenv("PG_PASSWORD")
|
|
host := os.Getenv("PG_HOST")
|
|
connStr := fmt.Sprintf("user=postgres host=%s dbname=relay password=%s sslmode=disable", host, password)
|
|
|
|
DB, err = sql.Open("postgres", connStr)
|
|
if err != nil {
|
|
log.Fatal("Failed to connect to database", err)
|
|
}
|
|
fmt.Println("Successfully connected to database")
|
|
|
|
return DB, nil
|
|
}
|