apifiber/database/database.go

47 lines
1015 B
Go

package database
import (
"api/config"
"fmt"
"log"
"gorm.io/driver/postgres"
"gorm.io/gorm"
)
// Our database
var DB *gorm.DB
// ConnectDB - returns a pointer to a new database connection
func ConnectDB() error {
// var erre error
// log.Println("Getting environment values")
// erre = godotenv.Load()
// if erre != nil {
// log.Printf("Error getting env, not comming through %v\n", erre)
// return erre
// }
driver := config.Configurations.Data.DB_DRIVER
user := config.Configurations.Data.DB_USER
password := config.Configurations.Data.DB_PASSWORD
host := config.Configurations.Data.DB_HOST
dbport := config.Configurations.Data.DB_PORT
dbname := config.Configurations.Data.DB_NAME
DBURL := fmt.Sprintf("%s://%s:%s@%s:%d/%s", driver, user, password, host, dbport, dbname)
log.Println("Opening connection to database")
db, err := gorm.Open(postgres.Open(DBURL), &gorm.Config{})
if err != nil {
return err
}
DB = db
return nil
}