diff options
Diffstat (limited to 'internal/storage/db.go')
| -rw-r--r-- | internal/storage/db.go | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/internal/storage/db.go b/internal/storage/db.go index 14d7050..7b577e7 100644 --- a/internal/storage/db.go +++ b/internal/storage/db.go @@ -40,11 +40,15 @@ type Record struct { func Open(ctx context.Context, path string) (*sql.DB, error) { db, err := sql.Open("sqlite", path) if err != nil { - return nil, err + return nil, fmt.Errorf("open sqlite: %w", err) + } + if err := db.PingContext(ctx); err != nil { + db.Close() + return nil, fmt.Errorf("ping sqlite: %w", err) } if _, err := db.ExecContext(ctx, "PRAGMA foreign_keys = OFF"); err != nil { db.Close() - return nil, err + return nil, fmt.Errorf("pragma foreign_keys: %w", err) } return db, nil } |
