getenv('DB_DATABASE') ?: 'freeshop', 'user' => getenv('DB_USERNAME') ?: 'freeshop_user', 'password' => getenv('DB_PASSWORD') ?: 'freeshop_password', 'host' => getenv('DB_HOST') ?: 'db', 'driver' => 'pdo_mysql', 'port' => getenv('DB_PORT') ?: 3306, 'charset' => 'utf8mb4', ]; try { $conn = DriverManager::getConnection($connectionParams); } catch (Exception $e) { echo "Fehler bei der DB-Verbindung: " . $e->getMessage() . "\n"; exit(1); } // Admin-User anlegen $adminMail = 'admin@webshop.local'; $adminPass = password_hash('admin123', PASSWORD_DEFAULT); $conn->executeStatement('INSERT IGNORE INTO ws_user (email, password, firstname, lastname, is_admin) VALUES (?, ?, ?, ?, 1)', [ $adminMail, $adminPass, 'Admin', 'Webshop' ]); // Shop anlegen $conn->executeStatement('INSERT IGNORE INTO ws_shop (name, domain, domain_ssl, physical_uri, theme) VALUES (?, ?, ?, ?, ?)', [ 'Mein Webshop', 'localhost', 'localhost', '/', 'classic' ]); // Sprachen anlegen $conn->executeStatement('INSERT IGNORE INTO ws_language (name, iso_code, locale) VALUES (?, ?, ?)', [ 'Deutsch', 'de', 'de_DE' ]); $conn->executeStatement('INSERT IGNORE INTO ws_language (name, iso_code, locale) VALUES (?, ?, ?)', [ 'English', 'en', 'en_US' ]); // Länder anlegen $conn->executeStatement('INSERT IGNORE INTO ws_country (name, iso_code) VALUES (?, ?)', [ 'Deutschland', 'DE' ]); $conn->executeStatement('INSERT IGNORE INTO ws_country (name, iso_code) VALUES (?, ?)', [ 'Österreich', 'AT' ]); $conn->executeStatement('INSERT IGNORE INTO ws_country (name, iso_code) VALUES (?, ?)', [ 'Schweiz', 'CH' ]); // Konfiguration anlegen $conn->executeStatement('INSERT IGNORE INTO ws_configuration (config_key, config_value) VALUES (?, ?)', [ 'WS_COUNTRY_DEFAULT', '1' ]); $conn->executeStatement('INSERT IGNORE INTO ws_configuration (config_key, config_value) VALUES (?, ?)', [ 'WS_LANG_DEFAULT', '1' ]); $conn->executeStatement('INSERT IGNORE INTO ws_configuration (config_key, config_value) VALUES (?, ?)', [ 'WS_TIMEZONE', 'Europe/Berlin' ]); echo "Webshop erfolgreich installiert!\n"; echo "Admin-Login: admin@webshop.local / admin123\n"; } public static function postUpdate() { // TODO: Update-Logik echo "Webshop erfolgreich aktualisiert!\n"; } }