PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, ]); $schema = file_get_contents(__DIR__ . '/../database/mysql-dev-schema.sql'); if ($schema === false) { fwrite(STDERR, "Could not read schema file.\n"); exit(1); } $pdo->exec($schema); $email = strtolower(trim((string)getenv('DEV_AUTH_EMAIL'))); $name = trim((string)(getenv('DEV_AUTH_NAME') ?: 'Test Admin')); $stmt = $pdo->prepare( 'INSERT INTO kl_Mitarbeiter (Name, Email, aktiv, admin) VALUES (?, ?, 1, 1) ON DUPLICATE KEY UPDATE Name = VALUES(Name), aktiv = 1, admin = 1' ); $stmt->execute([$name, $email]); $memberId = (int)$pdo->query('SELECT MitarbeiterID FROM kl_Mitarbeiter WHERE Email = ' . $pdo->quote($email))->fetchColumn(); $paymentCount = (int)$pdo->query('SELECT COUNT(*) FROM kl_Einzahlungen WHERE MitarbeiterID = ' . $memberId)->fetchColumn(); if ($paymentCount === 0) { $stmt = $pdo->prepare('INSERT INTO kl_Einzahlungen (MitarbeiterID, Betrag, Datum) VALUES (?, ?, NOW())'); $stmt->execute([$memberId, 10.00]); } $consumptionCount = (int)$pdo->query('SELECT COUNT(*) FROM kl_Kaffeeverbrauch WHERE MitarbeiterID = ' . $memberId)->fetchColumn(); if ($consumptionCount === 0) { $stmt = $pdo->prepare( 'INSERT INTO kl_Kaffeeverbrauch (MitarbeiterID, AnzahlStriche, Kosten, KostenproStrich, Datum, Eintragsart) VALUES (?, ?, ?, ?, NOW(), ?)' ); $stmt->execute([$memberId, 3, 0.60, 0.20, 2]); } $noticeCount = (int)$pdo->query('SELECT COUNT(*) FROM kl_hinweise')->fetchColumn(); if ($noticeCount === 0) { $stmt = $pdo->prepare('INSERT INTO kl_hinweise (nachricht, gueltig_bis) VALUES (?, DATE_ADD(NOW(), INTERVAL 30 DAY))'); $stmt->execute(['Dev-Hinweis: MySQL-Testumgebung aktiv.']); } echo "MySQL dev schema is ready for {$email}.\n";