Keep existing db when converting geocache

This commit is contained in:
Igor Chubin 2022-12-23 14:09:17 +01:00
parent 54b5bfc64d
commit 38e2ddd69b
2 changed files with 16 additions and 9 deletions

View file

@ -11,8 +11,11 @@ import (
"github.com/samonzeweb/godb/adapters/sqlite"
)
//nolint:funlen,cyclop
func (c *Cache) ConvertCache() error {
// ConvertCache converts files-based cache into the DB-based cache.
// If reset is true, the DB cache is created from scratch.
//
//nolint:funlen,cyclop,gocognit
func (c *Cache) ConvertCache(reset bool) error {
var (
dbfile = c.config.Geo.LocationCacheDB
tableName = "Location"
@ -20,9 +23,11 @@ func (c *Cache) ConvertCache() error {
known = map[string]bool{}
)
err := removeDBIfExists(dbfile)
if err != nil {
return err
if reset {
err := removeDBIfExists(dbfile)
if err != nil {
return err
}
}
db, err := godb.Open(sqlite.Adapter, dbfile)
@ -30,9 +35,11 @@ func (c *Cache) ConvertCache() error {
return err
}
err = createTable(db, tableName)
if err != nil {
return err
if reset {
err = createTable(db, tableName)
if err != nil {
return err
}
}
log.Println("listing cache entries...")

2
srv.go
View file

@ -237,7 +237,7 @@ func convertGeoLocationCache(conf *config.Config) error {
return err
}
return geoLocCache.ConvertCache()
return geoLocCache.ConvertCache(false)
}
func setLogLevel(logLevel string) error {