package database import ( "database/sql" "fmt" "path/filepath" "water/api/internal/config" _ "github.com/mattn/go-sqlite3" ) func EstablishDBConnection() (*sql.DB, error) { c, err := config.Load() if err != nil { return nil, fmt.Errorf("error while reading config file: %w", err) } driver := c.GetString("DB_DRIVER") path, err := filepath.Abs(c.GetString("DB_PATH")) if err != nil { return nil, fmt.Errorf("failed to get absolute path of the database: %w", err) } db, err := sql.Open(driver, path) if err != nil { return nil, fmt.Errorf("error while opening the database: %w", err) } return db, nil }