internal/database: fix bug in Write where top-level dir was not created

Change-Id: Id601089bd699ffc59a86527730cccf7abbb55f1c
Reviewed-on: https://go-review.googlesource.com/c/vulndb/+/452442
Reviewed-by: Cherry Mui <cherryyz@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Damien Neil <dneil@google.com>
Run-TryBot: Tatiana Bradley <tatiana@golang.org>
Auto-Submit: Tatiana Bradley <tatiana@golang.org>
diff --git a/internal/database/write.go b/internal/database/write.go
index ca558c0..449dd9b 100644
--- a/internal/database/write.go
+++ b/internal/database/write.go
@@ -22,6 +22,10 @@
 func (d *Database) Write(path string, indent bool) (err error) {
 	defer derrors.Wrap(&err, "Database.Write(%q)", path)
 
+	if err := os.MkdirAll(path, 0755); err != nil {
+		return fmt.Errorf("failed to create directory %q: %s", path, err)
+	}
+
 	if err = d.writeIndex(path, indent); err != nil {
 		return err
 	}