42 lines
1.1 KiB
Go
42 lines
1.1 KiB
Go
/*
|
|
This file is part of dogapi.
|
|
|
|
dogapi is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU Affero General Public License as published by
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
dogapi is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU Affero General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Affero General Public License
|
|
along with dogapi. If not, see <https://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
package db
|
|
|
|
import (
|
|
"database/sql"
|
|
"os"
|
|
"fmt"
|
|
"log"
|
|
_ "github.com/lib/pq"
|
|
)
|
|
|
|
var conn *sql.DB
|
|
|
|
func ConnectDB() (error) {
|
|
psqlInfo := fmt.Sprintf("host=%s port=%s user=%s password=%s dbname=%s sslmode=disable",
|
|
os.Getenv("HOST"), os.Getenv("PORT"), os.Getenv("DBUSER"), os.Getenv("PASSWD"), os.Getenv("DBNAME"))
|
|
var err error
|
|
conn, err = sql.Open("postgres", psqlInfo)
|
|
|
|
if err != nil {
|
|
log.Fatalln(err)
|
|
}
|
|
err = conn.Ping()
|
|
return err
|
|
}
|