45 lines
1003 B
Go
45 lines
1003 B
Go
package database
|
|
|
|
import (
|
|
"api/config"
|
|
"api/globals"
|
|
"fmt"
|
|
"log"
|
|
|
|
"gorm.io/driver/postgres"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
// 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
|
|
}
|
|
|
|
globals.DB = db
|
|
|
|
return nil
|
|
}
|