From 12bfa69ccee48d2318ab98b5b457b011e3dd45c5 Mon Sep 17 00:00:00 2001 From: Nathan Coad Date: Tue, 16 Jan 2024 15:07:35 +1100 Subject: [PATCH] more re-arranging of db schema setup --- models/setup.go | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/models/setup.go b/models/setup.go index e4c33ee..ccf1804 100644 --- a/models/setup.go +++ b/models/setup.go @@ -285,6 +285,23 @@ func CreateTables() { } } + // Add SafeId column to secrets table + safeIdCheck, _ := CheckColumnExists("secrets", "SafeId") + if !safeIdCheck { + // Add the column for LdapGroup in the roles table + _, err := db.Exec("ALTER TABLE secrets ADD COLUMN SafeId INTEGER REFERENCES safes(SafeId);") + if err != nil { + log.Printf("Error altering secrets table to add SafeId column : '%s'\n", err) + os.Exit(1) + } + } + + // Set any unassigned secrets to the default safe id + if _, err = db.Exec("UPDATE secrets SET SafeId = 1 WHERE SafeId is null;"); err != nil { + log.Printf("Error setting safe ID of existing secrets : '%s'", err) + os.Exit(1) + } + // Remove RoleId column from secrets table secretsRoleIdCheck, _ := CheckColumnExists("secrets", "RoleId") if secretsRoleIdCheck { @@ -303,7 +320,7 @@ func CreateTables() { Secret VARCHAR, FOREIGN KEY (SafeId) REFERENCES safes(SafeId) ); - INSERT INTO secrets SELECT * FROM _secrets_old; + INSERT INTO secrets SELECT SecretId, SafeId, DeviceName, DeviceCategory, UserName, Secret FROM _secrets_old; ALTER TABLE secrets DROP COLUMN RoleId; COMMIT; PRAGMA foreign_keys=on; @@ -315,17 +332,6 @@ func CreateTables() { } } - // Add SafeId column to secrets table - safeIdCheck, _ := CheckColumnExists("secrets", "SafeId") - if !safeIdCheck { - // Add the column for LdapGroup in the roles table - _, err := db.Exec("ALTER TABLE secrets ADD COLUMN SafeId INTEGER REFERENCES safes(SafeId);") - if err != nil { - log.Printf("Error altering secrets table to add SafeId column : '%s'\n", err) - os.Exit(1) - } - } - // Remove the Admin column from roles table rolesAdminCheck, _ := CheckColumnExists("roles", "Admin") if rolesAdminCheck { @@ -368,12 +374,6 @@ func CreateTables() { } } - // Set any unassigned secrets to the default safe id - if _, err = db.Exec("UPDATE secrets SET SafeId = 1 WHERE SafeId is null;"); err != nil { - log.Printf("Error setting safe ID of existing secrets : '%s'", err) - os.Exit(1) - } - /* // Database updates added after initial version released ldapCheck, _ := CheckColumnExists("roles", "LdapGroup")