handle roleid FK in secrets table
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -304,7 +304,25 @@ func CreateTables() {
|
|||||||
// Remove RoleId column from secrets table
|
// Remove RoleId column from secrets table
|
||||||
secretsRoleIdCheck, _ := CheckColumnExists("secrets", "RoleId")
|
secretsRoleIdCheck, _ := CheckColumnExists("secrets", "RoleId")
|
||||||
if secretsRoleIdCheck {
|
if secretsRoleIdCheck {
|
||||||
_, err := db.Exec("ALTER TABLE secrets DROP COLUMN RoleId;")
|
_, err := db.Exec(`
|
||||||
|
PRAGMA foreign_keys=off;
|
||||||
|
BEGIN TRANSACTION;
|
||||||
|
ALTER TABLE secrets RENAME TO _secrets_old;
|
||||||
|
CREATE TABLE secrets
|
||||||
|
(
|
||||||
|
SecretId INTEGER PRIMARY KEY ASC,
|
||||||
|
SafeId INTEGER,
|
||||||
|
DeviceName VARCHAR,
|
||||||
|
DeviceCategory VARCHAR,
|
||||||
|
UserName VARCHAR,
|
||||||
|
Secret VARCHAR,
|
||||||
|
FOREIGN KEY (SafeId) REFERENCES safes(SafeId)
|
||||||
|
);
|
||||||
|
INSERT INTO secrets SELECT * FROM _secrets_old;
|
||||||
|
COMMIT;
|
||||||
|
PRAGMA foreign_keys=on;
|
||||||
|
DROP TABLE _secrets_old;
|
||||||
|
`)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("Error altering secrets table to renmove RoleId column : '%s'\n", err)
|
log.Printf("Error altering secrets table to renmove RoleId column : '%s'\n", err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
|
Reference in New Issue
Block a user