diff --git a/backend/resources/migrations/postgres/20260102231700_ldap_admin_group_rename.up.sql b/backend/resources/migrations/postgres/20260102231700_ldap_admin_group_rename.up.sql index 4a92606d..99259449 100644 --- a/backend/resources/migrations/postgres/20260102231700_ldap_admin_group_rename.up.sql +++ b/backend/resources/migrations/postgres/20260102231700_ldap_admin_group_rename.up.sql @@ -1 +1,8 @@ -UPDATE app_config_variables SET key = 'ldapAdminGroupName' WHERE key = 'ldapAttributeAdminGroup'; +UPDATE app_config_variables +SET key = 'ldapAdminGroupName' +WHERE key = 'ldapAttributeAdminGroup' + AND NOT EXISTS ( + SELECT 1 + FROM app_config_variables + WHERE key = 'ldapAdminGroupName' +); \ No newline at end of file diff --git a/backend/resources/migrations/sqlite/20251217141000_v2_export_normalization.up.sql b/backend/resources/migrations/sqlite/20251217141000_v2_export_normalization.up.sql index 1eae6c6f..2aa0b52b 100644 --- a/backend/resources/migrations/sqlite/20251217141000_v2_export_normalization.up.sql +++ b/backend/resources/migrations/sqlite/20251217141000_v2_export_normalization.up.sql @@ -10,8 +10,8 @@ CREATE TABLE users_new id TEXT NOT NULL PRIMARY KEY, created_at DATETIME, username TEXT COLLATE NOCASE NOT NULL UNIQUE, - email TEXT NOT NULL UNIQUE, - first_name TEXT, + email TEXT UNIQUE, + first_name TEXT NOT NULL, last_name TEXT NOT NULL, display_name TEXT NOT NULL, is_admin BOOLEAN DEFAULT FALSE NOT NULL, diff --git a/backend/resources/migrations/sqlite/20260102231700_ldap_admin_group_rename.up.sql b/backend/resources/migrations/sqlite/20260102231700_ldap_admin_group_rename.up.sql index 800371fd..981d0a97 100644 --- a/backend/resources/migrations/sqlite/20260102231700_ldap_admin_group_rename.up.sql +++ b/backend/resources/migrations/sqlite/20260102231700_ldap_admin_group_rename.up.sql @@ -1,7 +1,14 @@ PRAGMA foreign_keys= OFF; BEGIN; -UPDATE app_config_variables SET key = 'ldapAdminGroupName' WHERE key = 'ldapAttributeAdminGroup'; +UPDATE app_config_variables +SET key = 'ldapAdminGroupName' +WHERE key = 'ldapAttributeAdminGroup' + AND NOT EXISTS ( + SELECT 1 + FROM app_config_variables + WHERE key = 'ldapAdminGroupName' +); COMMIT; PRAGMA foreign_keys= ON; diff --git a/backend/resources/migrations/sqlite/20260103142200_user_nullable_fields.down.sql b/backend/resources/migrations/sqlite/20260103142200_user_nullable_fields.down.sql new file mode 100644 index 00000000..f8e19576 --- /dev/null +++ b/backend/resources/migrations/sqlite/20260103142200_user_nullable_fields.down.sql @@ -0,0 +1 @@ +-- No-op \ No newline at end of file diff --git a/backend/resources/migrations/sqlite/20260103142200_user_nullable_fields.up.sql b/backend/resources/migrations/sqlite/20260103142200_user_nullable_fields.up.sql new file mode 100644 index 00000000..1b5d29a1 --- /dev/null +++ b/backend/resources/migrations/sqlite/20260103142200_user_nullable_fields.up.sql @@ -0,0 +1,52 @@ +PRAGMA foreign_keys= OFF; +BEGIN; + +CREATE TABLE users_new +( + id TEXT NOT NULL PRIMARY KEY, + created_at DATETIME, + updated_at DATETIME, + username TEXT COLLATE NOCASE NOT NULL UNIQUE, + email TEXT UNIQUE, + first_name TEXT NOT NULL, + last_name TEXT NOT NULL, + display_name TEXT NOT NULL, + is_admin BOOLEAN DEFAULT FALSE NOT NULL, + ldap_id TEXT UNIQUE, + locale TEXT, + disabled BOOLEAN DEFAULT FALSE NOT NULL +); + +INSERT INTO users_new ( + id, + created_at, + updated_at, + username, + email, + first_name, + last_name, + display_name, + is_admin, + ldap_id, + locale, + disabled +) SELECT + id, + created_at, + updated_at, + username, + email, + first_name, + last_name, + display_name, + is_admin, + ldap_id, + locale, + disabled FROM users; + +DROP TABLE users; +ALTER TABLE users_new RENAME TO users; + + +COMMIT; +PRAGMA foreign_keys= ON;