Commit Diff


commit - 2243a1ae65fdace004d2e95cf1e87711a13347be
commit + 5e622b9bb50c661a19f5b6b32666e6f880776fca
blob - 4e32bae9d0de09c2bf5279927a10eaab881be5b7
blob + bb0b51d2b75a7b8148e02d22ae69b358e98d31db
--- userdb.go
+++ userdb.go
@@ -4,6 +4,7 @@ import (
 	"database/sql"
 	"errors"
 	"fmt"
+	"io/fs"
 	"net/mail"
 	"os"
 	"path"
@@ -40,6 +41,12 @@ func CreateUserDB(name, ticketDir string) (*UserDB, er
 
 // OpenUserDB opens the named user database file and ticket directory.
 func OpenUserDB(name, dir string) (*UserDB, error) {
+	// sql.Open creates a blank file if it finds it doesn't exist.
+	// Return early if the file doesn't exist so we can handle it ourselves.
+	_, err := os.Stat(name)
+	if errors.Is(err, fs.ErrNotExist) {
+		return nil, err
+	}
 	db, err := sql.Open("sqlite3", name)
 	if err != nil {
 		return nil, err