task_tracker/storage/database.go
2019-01-12 16:20:25 -05:00

53 lines
793 B
Go

package storage
import (
"database/sql"
"fmt"
"github.com/Sirupsen/logrus"
_ "github.com/lib/pq"
"io/ioutil"
"os"
"src/task_tracker/config"
)
type Database struct {
}
func (database *Database) Reset() {
file, err := os.Open("./schema.sql")
handleErr(err)
buffer, err := ioutil.ReadAll(file)
handleErr(err)
db := database.getDB()
_, err = db.Exec(string(buffer))
handleErr(err)
db.Close()
file.Close()
logrus.Info("Database has been reset")
}
func (database *Database) getDB () *sql.DB {
db, err := sql.Open("postgres", config.Cfg.DbConnStr)
if err != nil {
logrus.Fatal(err)
}
return db
}
func (database *Database) Test() {
db := database.getDB()
rows, err := db.Query("SELECT name FROM Task")
if err != nil {
logrus.Fatal(err)
}
fmt.Println(rows)
}