Files
filebrowser/storage/bolt/importer/importer.go
T

40 lines
639 B
Go
Raw Normal View History

2019-01-05 22:44:33 +00:00
package importer
import (
2022-05-04 00:48:45 +04:00
"github.com/asdine/storm/v3"
2020-06-01 01:12:36 +02:00
2019-01-05 22:44:33 +00:00
"github.com/filebrowser/filebrowser/v2/storage/bolt"
)
// Import imports an old configuration to a newer database.
2020-06-01 01:12:36 +02:00
func Import(oldDBPath, oldConf, newDBPath string) error {
oldDB, err := storm.Open(oldDBPath)
2019-01-05 22:44:33 +00:00
if err != nil {
return err
}
2020-06-01 01:12:36 +02:00
defer oldDB.Close()
2019-01-05 22:44:33 +00:00
2020-06-01 01:12:36 +02:00
newDB, err := storm.Open(newDBPath)
2019-01-05 22:44:33 +00:00
if err != nil {
return err
}
2020-06-01 01:12:36 +02:00
defer newDB.Close()
2019-01-05 22:44:33 +00:00
2020-06-01 01:12:36 +02:00
sto, err := bolt.NewStorage(newDB)
2019-01-09 21:37:47 +00:00
if err != nil {
return err
}
2019-01-05 22:44:33 +00:00
2020-06-01 01:12:36 +02:00
err = importUsers(oldDB, sto)
2019-01-05 22:44:33 +00:00
if err != nil {
return err
}
2020-06-01 01:12:36 +02:00
err = importConf(oldDB, oldConf, sto)
2019-01-05 22:44:33 +00:00
if err != nil {
return err
}
return err
}