From 0c372a8e38a21b6384e08eb36238746535b3c9ca Mon Sep 17 00:00:00 2001 From: Matt Hook Date: Mon, 11 Dec 2023 15:01:55 +1300 Subject: [PATCH] close db before restore. fix log --- api/database/boltdb/db.go | 2 ++ api/datastore/backup.go | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/api/database/boltdb/db.go b/api/database/boltdb/db.go index 52b7cbea4..445438951 100644 --- a/api/database/boltdb/db.go +++ b/api/database/boltdb/db.go @@ -144,6 +144,8 @@ func (connection *DbConnection) Open() error { // Close closes the BoltDB database. // Safe to being called multiple times. func (connection *DbConnection) Close() error { + log.Info().Msg("closing PortainerDB") + if connection.DB != nil { return connection.DB.Close() } diff --git a/api/datastore/backup.go b/api/datastore/backup.go index 0a18346b4..5c198f775 100644 --- a/api/datastore/backup.go +++ b/api/datastore/backup.go @@ -43,11 +43,12 @@ func (store *Store) Restore() error { } func (store *Store) RestoreFromFile(backupFilename string) error { + store.Close() if err := store.fileService.Copy(backupFilename, store.connection.GetDatabaseFilePath(), true); err != nil { return fmt.Errorf("unable to restore backup file %q. err: %w", backupFilename, err) } - log.Info().Str("from", store.connection.GetDatabaseFilePath()).Str("to", backupFilename).Msgf("database restored") + log.Info().Str("from", backupFilename).Str("to", store.connection.GetDatabaseFilePath()).Msgf("database restored") _, err := store.Open() if err != nil { @@ -61,7 +62,7 @@ func (store *Store) RestoreFromFile(backupFilename string) error { } editionLabel := portainer.SoftwareEdition(version.Edition).GetEditionLabel() - log.Info().Str("version", version.SchemaVersion).Msgf("Restored database version: Portainer %s %s ", editionLabel, version.SchemaVersion) + log.Info().Msgf("Restored database version: Portainer %s %s", editionLabel, version.SchemaVersion) return nil }