From 38e2ddd69bf370975800f3cb1a96d9598785a3b4 Mon Sep 17 00:00:00 2001 From: Igor Chubin Date: Fri, 23 Dec 2022 14:09:17 +0100 Subject: [PATCH] Keep existing db when converting geocache --- internal/geo/location/convert.go | 23 +++++++++++++++-------- srv.go | 2 +- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/internal/geo/location/convert.go b/internal/geo/location/convert.go index bda2765..11343f6 100644 --- a/internal/geo/location/convert.go +++ b/internal/geo/location/convert.go @@ -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...") diff --git a/srv.go b/srv.go index 97fdbb6..e730841 100644 --- a/srv.go +++ b/srv.go @@ -237,7 +237,7 @@ func convertGeoLocationCache(conf *config.Config) error { return err } - return geoLocCache.ConvertCache() + return geoLocCache.ConvertCache(false) } func setLogLevel(logLevel string) error {