diff options
Diffstat (limited to 'api/internal/database')
| -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 | } |
