From 4a7b4d03a1d81062bb6e708b51c42e64ee23618a Mon Sep 17 00:00:00 2001 From: Ainar Garipov Date: Thu, 18 Aug 2022 16:34:08 +0300 Subject: [PATCH] Pull request: 4846-migration-fix Updates #4846. Squashed commit of the following: commit 22e2e89e5390c7b1486fb69064c55da40fc5c7e7 Author: Ainar Garipov Date: Thu Aug 18 16:25:07 2022 +0300 home: fix yaml object type --- CHANGELOG.md | 5 +++++ internal/home/upgrade.go | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b92e14c1..0f5c9319 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,8 +28,13 @@ and this project adheres to - Go 1.18 support. v0.109.0 will require at least Go 1.19 to build. +### Fixed + +- Migrations from releases older than v0.107.7 failing ([#4846]). + [#2993]: https://github.com/AdguardTeam/AdGuardHome/issues/2993 [#4795]: https://github.com/AdguardTeam/AdGuardHome/issues/4795 +[#4846]: https://github.com/AdguardTeam/AdGuardHome/issues/4846 diff --git a/internal/home/upgrade.go b/internal/home/upgrade.go index 15970e7b..4426149c 100644 --- a/internal/home/upgrade.go +++ b/internal/home/upgrade.go @@ -27,7 +27,7 @@ const currentSchemaVersion = 14 // These aliases are provided for convenience. type ( yarr = []any - yobj = map[any]any + yobj = map[string]any ) // Performs necessary upgrade operations if needed @@ -182,12 +182,12 @@ func upgradeSchema2to3(diskConf yobj) error { newDNSConfig := make(yobj) switch v := dnsConfig.(type) { - case map[any]any: + case yobj: for k, v := range v { newDNSConfig[fmt.Sprint(k)] = v } default: - return fmt.Errorf("dns configuration is not a map") + return fmt.Errorf("unexpected type of dns: %T", dnsConfig) } // Replace bootstrap_dns value filed with new array contains old bootstrap_dns inside