47 lines
663 B
Go
47 lines
663 B
Go
package db
|
|
|
|
import (
|
|
"database/sql"
|
|
"fmt"
|
|
|
|
"go-sjles-pta-vote/config"
|
|
|
|
_ "github.com/lib/pq"
|
|
)
|
|
|
|
var db *sql.DB
|
|
|
|
func Connect() error {
|
|
var err error
|
|
dbConfig := config.GetConfig()
|
|
|
|
db, err = sql.Open(
|
|
"postgres",
|
|
fmt.Sprintf("host=%s port=%s user=%s password=%s dbname=%s sslmode=disable",
|
|
dbConfig.Host,
|
|
dbConfig.Port,
|
|
dbConfig.User,
|
|
dbCofnig.Password,
|
|
dbConfig.Database
|
|
)
|
|
)
|
|
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
if err = db.Ping(); err != nil {
|
|
return err
|
|
}
|
|
|
|
fmt.Println("Connected to PostgreSQL")
|
|
|
|
return nil
|
|
}
|
|
|
|
// TODO: Is there a way to close automatically on app closure
|
|
func Close() {
|
|
if db != nil {
|
|
_ = db.Close()
|
|
}
|
|
} |