diff --git a/internal/storage/sqlite.go b/internal/storage/sqlite.go index 35dbc04..2120206 100644 --- a/internal/storage/sqlite.go +++ b/internal/storage/sqlite.go @@ -2,6 +2,8 @@ package storage import ( "database/sql" + "os" + "path/filepath" _ "modernc.org/sqlite" ) @@ -11,6 +13,10 @@ type DB struct { } func Open(path string) (*DB, error) { + dir := filepath.Dir(path) + if err := os.MkdirAll(dir, 0755); err != nil { + return nil, err + } db, err := sql.Open("sqlite", path+"?_pragma=journal_mode(WAL)&_pragma=busy_timeout(5000)&_pragma=foreign_keys(1)") if err != nil { return nil, err