From 5fa987519d1a113de4f1d108e94751e25ec5b453 Mon Sep 17 00:00:00 2001 From: Kristoffer Dalby Date: Mon, 23 May 2022 17:33:07 +0100 Subject: [PATCH] move populate to after when given_name exist --- db.go | 65 ++++++++++++++++++++++++++++++----------------------------- 1 file changed, 33 insertions(+), 32 deletions(-) diff --git a/db.go b/db.go index 6eb0683c79..a24e46b5d0 100644 --- a/db.go +++ b/db.go @@ -45,38 +45,6 @@ func (h *Headscale) initDB() error { // the field is populated and normalized if it was not when the // machine was registered. _ = db.Migrator().RenameColumn(&Machine{}, "nickname", "given_name") - if db.Migrator().HasColumn(&Machine{}, "given_name") { - machines := Machines{} - if err := h.db.Find(&machines).Error; err != nil { - log.Error().Err(err).Msg("Error accessing db") - } - - for _, machine := range machines { - if machine.GivenName == "" { - normalizedHostname, err := NormalizeToFQDNRules( - machine.Hostname, - h.cfg.OIDC.StripEmaildomain, - ) - if err != nil { - log.Error(). - Caller(). - Str("hostname", machine.Hostname). - Err(err). - Msg("Failed to normalize machine hostname in DB migration") - } - - err = h.RenameMachine(&machine, normalizedHostname) - if err != nil { - log.Error(). - Caller(). - Str("hostname", machine.Hostname). - Err(err). - Msg("Failed to save normalized machine name in DB migration") - } - - } - } - } // If the Machine table has a column for registered, // find all occourences of "false" and drop them. Then @@ -115,6 +83,39 @@ func (h *Headscale) initDB() error { return err } + if db.Migrator().HasColumn(&Machine{}, "given_name") { + machines := Machines{} + if err := h.db.Find(&machines).Error; err != nil { + log.Error().Err(err).Msg("Error accessing db") + } + + for _, machine := range machines { + if machine.GivenName == "" { + normalizedHostname, err := NormalizeToFQDNRules( + machine.Hostname, + h.cfg.OIDC.StripEmaildomain, + ) + if err != nil { + log.Error(). + Caller(). + Str("hostname", machine.Hostname). + Err(err). + Msg("Failed to normalize machine hostname in DB migration") + } + + err = h.RenameMachine(&machine, normalizedHostname) + if err != nil { + log.Error(). + Caller(). + Str("hostname", machine.Hostname). + Err(err). + Msg("Failed to save normalized machine name in DB migration") + } + + } + } + } + err = db.AutoMigrate(&KV{}) if err != nil { return err