Improve seed defaults for tenant, departments, user role and generic DB names
This commit is contained in:
@@ -14,10 +14,10 @@ TENANT_SCOPE_STRICT=true
|
|||||||
|
|
||||||
DB_HOST=db
|
DB_HOST=db
|
||||||
DB_PORT=3306
|
DB_PORT=3306
|
||||||
DB_NAME=corecore
|
DB_NAME=db
|
||||||
DB_USER=corecore
|
DB_USER=user
|
||||||
DB_PASS=corecore
|
DB_PASS=user
|
||||||
DB_ROOT_PASSWORD=corecore_root
|
DB_ROOT_PASSWORD=root
|
||||||
|
|
||||||
CACHE_SERVERS=memcached:11211
|
CACHE_SERVERS=memcached:11211
|
||||||
|
|
||||||
|
|||||||
@@ -14,8 +14,8 @@ TENANT_SCOPE_STRICT=true
|
|||||||
|
|
||||||
DB_HOST=db
|
DB_HOST=db
|
||||||
DB_PORT=3306
|
DB_PORT=3306
|
||||||
DB_NAME=corecore
|
DB_NAME=db
|
||||||
DB_USER=corecore
|
DB_USER=user
|
||||||
DB_PASS=replace-db-password
|
DB_PASS=replace-db-password
|
||||||
DB_ROOT_PASSWORD=replace-db-root-password
|
DB_ROOT_PASSWORD=replace-db-root-password
|
||||||
|
|
||||||
|
|||||||
@@ -84,9 +84,9 @@ Standard-Demo-User:
|
|||||||
|
|
||||||
- E-Mail: `demo@user.com`
|
- E-Mail: `demo@user.com`
|
||||||
- Passwort: `Demo123`
|
- Passwort: `Demo123`
|
||||||
- Tenant: `Cronus`
|
- Tenant: `MusterMandant`
|
||||||
- Abteilung: `IT`
|
- Abteilung: `Musterabteilung`
|
||||||
- Rolle: `Admin`
|
- Rollen: `Admin`, `User`
|
||||||
|
|
||||||
## Projektstruktur
|
## Projektstruktur
|
||||||
|
|
||||||
|
|||||||
@@ -666,19 +666,37 @@ CREATE TABLE IF NOT EXISTS `user_remember_tokens` (
|
|||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||||
|
|
||||||
INSERT INTO `tenants` (`uuid`, `description`, `created`)
|
INSERT INTO `tenants` (`uuid`, `description`, `created`)
|
||||||
SELECT UUID(), 'Cronus', NOW()
|
SELECT UUID(), 'MusterMandant', NOW()
|
||||||
WHERE NOT EXISTS (SELECT 1 FROM tenants WHERE description = 'Cronus');
|
WHERE NOT EXISTS (SELECT 1 FROM tenants WHERE description = 'MusterMandant');
|
||||||
|
|
||||||
INSERT INTO `departments` (`uuid`, `description`, `tenant_id`, `code`, `active`, `created`)
|
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
|
FROM tenants t
|
||||||
WHERE t.description = 'Cronus'
|
WHERE t.description = 'MusterMandant'
|
||||||
AND NOT EXISTS (SELECT 1 FROM departments WHERE description = 'IT');
|
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`)
|
INSERT INTO `roles` (`uuid`, `description`, `code`, `active`, `created`)
|
||||||
SELECT UUID(), 'Admin', 'ADMIN', 1, NOW()
|
SELECT UUID(), 'Admin', 'ADMIN', 1, NOW()
|
||||||
WHERE NOT EXISTS (SELECT 1 FROM roles WHERE description = 'Admin');
|
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` (
|
INSERT INTO `users` (
|
||||||
`uuid`,
|
`uuid`,
|
||||||
`first_name`,
|
`first_name`,
|
||||||
@@ -708,7 +726,7 @@ SELECT
|
|||||||
'de',
|
'de',
|
||||||
NULL,
|
NULL,
|
||||||
'light',
|
'light',
|
||||||
(SELECT id FROM tenants WHERE description = 'Cronus' LIMIT 1),
|
(SELECT id FROM tenants WHERE description = 'MusterMandant' LIMIT 1),
|
||||||
NULL,
|
NULL,
|
||||||
NOW(),
|
NOW(),
|
||||||
1,
|
1,
|
||||||
@@ -723,7 +741,7 @@ WHERE `email` = 'demo@user.com';
|
|||||||
INSERT INTO `user_tenants` (`user_id`, `tenant_id`, `created`)
|
INSERT INTO `user_tenants` (`user_id`, `tenant_id`, `created`)
|
||||||
SELECT u.id, t.id, NOW()
|
SELECT u.id, t.id, NOW()
|
||||||
FROM users u
|
FROM users u
|
||||||
JOIN tenants t ON t.description = 'Cronus'
|
JOIN tenants t ON t.description = 'MusterMandant'
|
||||||
WHERE u.email = 'demo@user.com'
|
WHERE u.email = 'demo@user.com'
|
||||||
AND NOT EXISTS (
|
AND NOT EXISTS (
|
||||||
SELECT 1 FROM user_tenants ut WHERE ut.user_id = u.id AND ut.tenant_id = t.id
|
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`)
|
INSERT INTO `user_departments` (`user_id`, `department_id`, `created`)
|
||||||
SELECT u.id, d.id, NOW()
|
SELECT u.id, d.id, NOW()
|
||||||
FROM users u
|
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'
|
WHERE u.email = 'demo@user.com'
|
||||||
AND NOT EXISTS (
|
AND NOT EXISTS (
|
||||||
SELECT 1 FROM user_departments ud WHERE ud.user_id = u.id AND ud.department_id = d.id
|
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
|
WHERE r.description IN ('Admin', 'Administrator') OR r.id = 1
|
||||||
ON DUPLICATE KEY UPDATE role_id = role_id;
|
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`)
|
INSERT INTO `settings` (`key`, `value`, `description`)
|
||||||
VALUES
|
VALUES
|
||||||
('system_audit_enabled', '1', 'setting.system_audit_enabled'),
|
('system_audit_enabled', '1', 'setting.system_audit_enabled'),
|
||||||
|
|||||||
@@ -47,10 +47,10 @@ Vorlage: `.env.example` — niemals echte Credentials committen.
|
|||||||
|---|---|---|
|
|---|---|---|
|
||||||
| `DB_HOST` | `db` | Hostname des MySQL/MariaDB-Servers (Docker-Service-Name oder IP) |
|
| `DB_HOST` | `db` | Hostname des MySQL/MariaDB-Servers (Docker-Service-Name oder IP) |
|
||||||
| `DB_PORT` | `3306` | Port des Datenbankservers |
|
| `DB_PORT` | `3306` | Port des Datenbankservers |
|
||||||
| `DB_NAME` | `corecore` | Name der Datenbank |
|
| `DB_NAME` | `db` | Name der Datenbank |
|
||||||
| `DB_USER` | `corecore` | Datenbankbenutzer |
|
| `DB_USER` | `user` | Datenbankbenutzer |
|
||||||
| `DB_PASS` | `corecore` | Passwort des Datenbankbenutzers |
|
| `DB_PASS` | `user` | Passwort des Datenbankbenutzers |
|
||||||
| `DB_ROOT_PASSWORD` | `corecore_root` | Root-Passwort für Docker-Compose (wird nur vom DB-Container genutzt, nicht von PHP) |
|
| `DB_ROOT_PASSWORD` | `root` | Root-Passwort für Docker-Compose (wird nur vom DB-Container genutzt, nicht von PHP) |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -136,9 +136,9 @@ final class EnvValidatorTest extends TestCase
|
|||||||
'TENANT_SCOPE_STRICT' => 'true',
|
'TENANT_SCOPE_STRICT' => 'true',
|
||||||
'DB_HOST' => 'db',
|
'DB_HOST' => 'db',
|
||||||
'DB_PORT' => '3306',
|
'DB_PORT' => '3306',
|
||||||
'DB_NAME' => 'corecore',
|
'DB_NAME' => 'db',
|
||||||
'DB_USER' => 'corecore',
|
'DB_USER' => 'user',
|
||||||
'DB_PASS' => 'corecore',
|
'DB_PASS' => 'user',
|
||||||
'CACHE_SERVERS' => 'memcached:11211',
|
'CACHE_SERVERS' => 'memcached:11211',
|
||||||
'FIREWALL_CONCURRENCY' => '10',
|
'FIREWALL_CONCURRENCY' => '10',
|
||||||
'FIREWALL_SPINLOCK_SECONDS' => '0.15',
|
'FIREWALL_SPINLOCK_SECONDS' => '0.15',
|
||||||
|
|||||||
Reference in New Issue
Block a user