try sqlite transaction FK removal
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:
@@ -222,7 +222,25 @@ func CreateTables() {
|
|||||||
// Remove users RoleId column
|
// Remove users RoleId column
|
||||||
userRoleIdCheck, _ := CheckColumnExists("users", "RoleId")
|
userRoleIdCheck, _ := CheckColumnExists("users", "RoleId")
|
||||||
if userRoleIdCheck {
|
if userRoleIdCheck {
|
||||||
_, err := db.Exec("ALTER TABLE users DROP COLUMN RoleId;")
|
//_, err := db.Exec("ALTER TABLE users DROP COLUMN RoleId;")
|
||||||
|
_, err := db.Exec(`
|
||||||
|
PRAGMA foreign_keys=off;
|
||||||
|
BEGIN TRANSACTION;
|
||||||
|
ALTER TABLE users RENAME TO _users_old;
|
||||||
|
CREATE TABLE users
|
||||||
|
(
|
||||||
|
UserId INTEGER PRIMARY KEY ASC,
|
||||||
|
GroupId INTEGER,
|
||||||
|
UserName VARCHAR,
|
||||||
|
Password VARCHAR,
|
||||||
|
LdapUser BOOLEAN DEFAULT 0,
|
||||||
|
LdapDN VARCHAR DEFAULT '',
|
||||||
|
FOREIGN KEY (GroupId) REFERENCES groups(GroupId)
|
||||||
|
);
|
||||||
|
INSERT INTO users SELECT * FROM _users_old;
|
||||||
|
COMMIT;
|
||||||
|
PRAGMA foreign_keys=on;
|
||||||
|
`)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("Error altering users table to drop RoleId column : '%s'\n", err)
|
log.Printf("Error altering users table to drop RoleId column : '%s'\n", err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
|
Reference in New Issue
Block a user