1
0

Improve seed defaults for tenant, departments, user role and generic DB names

This commit is contained in:
2026-03-11 20:24:18 +01:00
parent 285d6edb2e
commit f27de98bed
6 changed files with 50 additions and 24 deletions

View File

@@ -666,19 +666,37 @@ CREATE TABLE IF NOT EXISTS `user_remember_tokens` (
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
INSERT INTO `tenants` (`uuid`, `description`, `created`)
SELECT UUID(), 'Cronus', NOW()
WHERE NOT EXISTS (SELECT 1 FROM tenants WHERE description = 'Cronus');
SELECT UUID(), 'MusterMandant', NOW()
WHERE NOT EXISTS (SELECT 1 FROM tenants WHERE description = 'MusterMandant');
INSERT INTO `departments` (`uuid`, `description`, `tenant_id`, `code`, `active`, `created`)
SELECT UUID(), 'IT', t.id, 'IT', 1, NOW()
SELECT UUID(), 'Musterabteilung', t.id, 'MUSTER', 1, NOW()
FROM tenants t
WHERE t.description = 'Cronus'
AND NOT EXISTS (SELECT 1 FROM departments WHERE description = 'IT');
WHERE t.description = 'MusterMandant'
AND NOT EXISTS (
SELECT 1 FROM departments d
WHERE d.tenant_id = t.id
AND d.description = 'Musterabteilung'
);
INSERT INTO `departments` (`uuid`, `description`, `tenant_id`, `code`, `active`, `created`)
SELECT UUID(), 'Musterabteilung 2', t.id, 'MUSTER2', 1, NOW()
FROM tenants t
WHERE t.description = 'MusterMandant'
AND NOT EXISTS (
SELECT 1 FROM departments d
WHERE d.tenant_id = t.id
AND d.description = 'Musterabteilung 2'
);
INSERT INTO `roles` (`uuid`, `description`, `code`, `active`, `created`)
SELECT UUID(), 'Admin', 'ADMIN', 1, NOW()
WHERE NOT EXISTS (SELECT 1 FROM roles WHERE description = 'Admin');
INSERT INTO `roles` (`uuid`, `description`, `code`, `active`, `created`)
SELECT UUID(), 'User', 'USER', 1, NOW()
WHERE NOT EXISTS (SELECT 1 FROM roles WHERE code = 'USER');
INSERT INTO `users` (
`uuid`,
`first_name`,
@@ -708,7 +726,7 @@ SELECT
'de',
NULL,
'light',
(SELECT id FROM tenants WHERE description = 'Cronus' LIMIT 1),
(SELECT id FROM tenants WHERE description = 'MusterMandant' LIMIT 1),
NULL,
NOW(),
1,
@@ -723,7 +741,7 @@ WHERE `email` = 'demo@user.com';
INSERT INTO `user_tenants` (`user_id`, `tenant_id`, `created`)
SELECT u.id, t.id, NOW()
FROM users u
JOIN tenants t ON t.description = 'Cronus'
JOIN tenants t ON t.description = 'MusterMandant'
WHERE u.email = 'demo@user.com'
AND NOT EXISTS (
SELECT 1 FROM user_tenants ut WHERE ut.user_id = u.id AND ut.tenant_id = t.id
@@ -732,7 +750,8 @@ WHERE u.email = 'demo@user.com'
INSERT INTO `user_departments` (`user_id`, `department_id`, `created`)
SELECT u.id, d.id, NOW()
FROM users u
JOIN departments d ON d.description = 'IT'
JOIN departments d ON d.code = 'MUSTER'
JOIN tenants t ON t.id = d.tenant_id AND t.description = 'MusterMandant'
WHERE u.email = 'demo@user.com'
AND NOT EXISTS (
SELECT 1 FROM user_departments ud WHERE ud.user_id = u.id AND ud.department_id = d.id
@@ -912,6 +931,13 @@ JOIN permissions p ON p.`key` IN (
WHERE r.description IN ('Admin', 'Administrator') OR r.id = 1
ON DUPLICATE KEY UPDATE role_id = role_id;
INSERT INTO `role_permissions` (`role_id`, `permission_id`, `created`)
SELECT r.id, p.id, NOW()
FROM roles r
JOIN permissions p ON p.`key` IN ('users.self_update', 'address_book.view')
WHERE r.code = 'USER' OR r.description = 'User'
ON DUPLICATE KEY UPDATE role_id = role_id;
INSERT INTO `settings` (`key`, `value`, `description`)
VALUES
('system_audit_enabled', '1', 'setting.system_audit_enabled'),