summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db.go26
1 files 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
}