mirror of
https://github.com/simon987/task_tracker.git
synced 2025-04-19 18:16:45 +00:00
53 lines
793 B
Go
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)
|
|
|
|
} |