more re-arranging of db schema setup
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing

This commit is contained in:
2024-01-16 15:07:35 +11:00
parent f39a06dfd6
commit 12bfa69cce

View File

@@ -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 // Remove RoleId column from secrets table
secretsRoleIdCheck, _ := CheckColumnExists("secrets", "RoleId") secretsRoleIdCheck, _ := CheckColumnExists("secrets", "RoleId")
if secretsRoleIdCheck { if secretsRoleIdCheck {
@@ -303,7 +320,7 @@ func CreateTables() {
Secret VARCHAR, Secret VARCHAR,
FOREIGN KEY (SafeId) REFERENCES safes(SafeId) 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; ALTER TABLE secrets DROP COLUMN RoleId;
COMMIT; COMMIT;
PRAGMA foreign_keys=on; 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 // Remove the Admin column from roles table
rolesAdminCheck, _ := CheckColumnExists("roles", "Admin") rolesAdminCheck, _ := CheckColumnExists("roles", "Admin")
if rolesAdminCheck { 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 // Database updates added after initial version released
ldapCheck, _ := CheckColumnExists("roles", "LdapGroup") ldapCheck, _ := CheckColumnExists("roles", "LdapGroup")