DataLogue-Backend/db/pq/init.go

68 lines
1.1 KiB
Go
Raw Normal View History

2024-01-10 13:59:15 +01:00
package pq
import (
"database/sql"
"errors"
"fmt"
"git.cmdq.io/meirjann/DataLogue-Backend/log"
_ "github.com/lib/pq"
)
type pqClient struct {
c *sql.DB
}
var (
logger = log.New("db")
db = &pqClient{}
)
const (
DB_HOST = "localhost"
DB_NAME = "dataloguewdawd"
DB_PASS = "datalogueawdawd"
DB_USER = "datalogueawdawd"
)
func Init() error {
c, err := initConn()
if err != nil {
return err
}
db.c = c
err = checkOrCreateTables()
if err != nil {
return err
}
return nil
}
func initConn() (*sql.DB, error) {
connStr := fmt.Sprintf("postgres://%s:%s@%s/%s?sslmode=verify-full", DB_USER, DB_PASS, DB_HOST, DB_NAME)
db, err := sql.Open("postgres", connStr)
if err != nil {
return nil, err
}
logger.Println("connection to postgres db established")
return db, nil
}
func CloseConn() error {
if db.c != nil {
err := db.c.Close()
if err != nil {
return err
}
logger.Println("connection to postgres db closed")
return nil
}
return errors.New("postgres connection nil, could not close")
}
func checkOrCreateTables() error {
return nil
}