From f5fdddcc50c6015760332802508ada3b583471b1 Mon Sep 17 00:00:00 2001 From: or-else <or.else@gmail.com> Date: Tue, 28 Feb 2023 18:43:12 -0800 Subject: [PATCH] fix root user handling in init-db --- tinode-db/main.go | 42 +++++++++++++++++++----------------------- 1 file changed, 19 insertions(+), 23 deletions(-) diff --git a/tinode-db/main.go b/tinode-db/main.go index 6be833f6..4f4a9bdb 100644 --- a/tinode-db/main.go +++ b/tinode-db/main.go @@ -250,16 +250,29 @@ func main() { log.Fatalln("Database not found.") } log.Println("Database not found. Creating.") + err = store.Store.InitDb(config.StoreConfig, false) + if err == nil { + log.Println("Database successfully created.") + } } else if strings.Contains(err.Error(), "Invalid database version") { msg := "Wrong DB version: expected " + strconv.Itoa(adapterVersion) + ", got " + strconv.Itoa(databaseVersion) + "." + if *reset { - log.Println(msg, "Dropping and recreating the database.") + log.Println(msg, "Reset Requested. Dropping and recreating the database.") + err = store.Store.InitDb(config.StoreConfig, true) + if err == nil { + log.Println("Database successfully reset.") + } } else if *upgrade { if databaseVersion > adapterVersion { log.Fatalln(msg, "Unable to upgrade: database has greater version than the adapter.") } log.Println(msg, "Upgrading the database.") + err = store.Store.UpgradeDb(config.StoreConfig) + if err == nil { + log.Println("Database successfully upgraded.") + } } else { log.Fatalln(msg, "Use --reset to reset, --upgrade to upgrade.") } @@ -267,34 +280,17 @@ func main() { log.Fatalln("Failed to init DB adapter:", err) } } else if *reset { - log.Println("Database reset requested") - } else { - log.Println("Database exists, DB version is correct. All done.") - os.Exit(0) - } - - if *upgrade { - // Upgrade DB from one version to another. - err = store.Store.UpgradeDb(config.StoreConfig) - if err == nil { - log.Println("Database successfully upgraded.") - } - } else { - // Reset or create DB + log.Println("Reset requested. Dropping and recreating the database.") err = store.Store.InitDb(config.StoreConfig, true) if err == nil { - var action string - if *reset { - action = "reset" - } else { - action = "initialized" - } - log.Println("Database", action) + log.Println("Database successfully reset.") } + } else { + log.Println("Database exists, version is correct.") } if err != nil { - log.Fatalln("Failed to init DB:", err) + log.Fatalln("Failure:", err) } if !*upgrade { -- GitLab