diff options
Diffstat (limited to 'api/internal/database/database.go')
-rw-r--r-- | api/internal/database/database.go | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/api/internal/database/database.go b/api/internal/database/database.go new file mode 100644 index 0000000..1866655 --- /dev/null +++ b/api/internal/database/database.go | |||
@@ -0,0 +1,24 @@ | |||
1 | package database | ||
2 | |||
3 | import ( | ||
4 | "database/sql" | ||
5 | _ "github.com/mattn/go-sqlite3" | ||
6 | "log" | ||
7 | "path/filepath" | ||
8 | "water/api/internal/config" | ||
9 | ) | ||
10 | |||
11 | func EstablishDBConnection() *sql.DB { | ||
12 | c, err := config.Load() | ||
13 | |||
14 | driver := c.GetString("DB_DRIVER") | ||
15 | path, err := filepath.Abs(c.GetString("DB_PATH")) | ||
16 | if err != nil { | ||
17 | log.Fatal("There was and error getting the absolute path of the database.") | ||
18 | } | ||
19 | db, err := sql.Open(driver, path) | ||
20 | if err != nil { | ||
21 | panic(err) | ||
22 | } | ||
23 | return db | ||
24 | } \ No newline at end of file | ||