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