68 lines
1.1 KiB
Go
68 lines
1.1 KiB
Go
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
|
|
}
|