From a81836e4f6f171ca30eaac2d1778a3fe1a4b41ff Mon Sep 17 00:00:00 2001 From: herkulessi Date: Fri, 7 Aug 2026 16:40:38 +0200 Subject: support both embed fs and non-embed-fs --- db.go | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/db.go b/db.go index b2b43af..b00d8b9 100644 --- a/db.go +++ b/db.go @@ -39,16 +39,24 @@ func (w *Webpage) ConnectDb() (*sql.DB, error) { } var dir fs.ReadDirFile - potenriallyDir, err := w.getMigrationRoot().Open("db") - if err != nil { - return nil, err - } - if foo, ok := potenriallyDir.(fs.ReadDirFile); !ok { - dir = foo - } else { - return nil, errors.New("db directory is not a directory") + migrationRoot := w.getMigrationRoot() + var files []fs.DirEntry + switch v := migrationRoot.(type) { + default: + fmt.Fprintf(os.Stderr, "Unknown Filesystem type %T, trying anyways.\nYour Mileage may vary.", v) + potenriallyDir, err := w.getMigrationRoot().Open("db") + if err != nil { + return nil, err + } + if foo, ok := potenriallyDir.(fs.ReadDirFile); !ok { + dir = foo + } else { + return nil, errors.New("db directory is not a directory") + } + files, err = dir.ReadDir(0) + case embed.FS: + files, err = migrationRoot.(embed.FS).ReadDir("db") } - files, err := dir.ReadDir(0) if err != nil { return nil, err } -- cgit v1.2.3