2026-05-23 10:13:00 +02:00
|
|
|
|
<?php
|
|
|
|
|
|
/**
|
|
|
|
|
|
* Kurzer Verbindungstest zur lokalen Postgres-Instanz.
|
|
|
|
|
|
* Aufruf (im Projektroot):
|
|
|
|
|
|
* php scripts/db-check.php
|
|
|
|
|
|
*/
|
|
|
|
|
|
require_once dirname(__DIR__) . '/config.php';
|
|
|
|
|
|
require_once dirname(__DIR__) . '/helpers.php';
|
|
|
|
|
|
|
|
|
|
|
|
if (!extension_loaded('pdo_pgsql')) {
|
|
|
|
|
|
fwrite(STDERR, "PHP-Extension pdo_pgsql fehlt. z. B.: sudo apt install php-pgsql\n");
|
|
|
|
|
|
exit(1);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
$url = getenv('DATABASE_URL');
|
|
|
|
|
|
if (!$url) {
|
|
|
|
|
|
fwrite(STDERR, "DATABASE_URL ist nicht gesetzt. In .env eintragen (siehe .env.example).\n");
|
|
|
|
|
|
exit(1);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-05-23 10:23:28 +02:00
|
|
|
|
try {
|
|
|
|
|
|
$pdo = require_database();
|
|
|
|
|
|
} catch (DatabaseUnavailableException $e) {
|
|
|
|
|
|
fwrite(STDERR, $e->getMessage() . "\n");
|
2026-05-23 10:13:00 +02:00
|
|
|
|
fwrite(STDERR, "Prüfe: Docker läuft? docker compose -f docker-compose.dev.yml ps\n");
|
|
|
|
|
|
exit(1);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
$count = (int) $pdo->query('SELECT COUNT(*) FROM recipes')->fetchColumn();
|
|
|
|
|
|
echo "Verbindung OK. Rezepte in DB: {$count}\n";
|
|
|
|
|
|
|
2026-05-23 10:23:28 +02:00
|
|
|
|
if ($count === 0) {
|
|
|
|
|
|
echo "Hinweis: Leere DB – einmalig seeden mit: php scripts/db-seed.php\n";
|
|
|
|
|
|
} else {
|
|
|
|
|
|
$stmt = $pdo->query(
|
|
|
|
|
|
"SELECT r.slug, t.title
|
|
|
|
|
|
FROM recipes r
|
|
|
|
|
|
LEFT JOIN recipe_translations t ON t.recipe_slug = r.slug AND t.lang = 'en'
|
|
|
|
|
|
LIMIT 5"
|
|
|
|
|
|
);
|
2026-05-23 10:13:00 +02:00
|
|
|
|
echo "\nBeispiel-Zeilen:\n";
|
|
|
|
|
|
while ($row = $stmt->fetch()) {
|
|
|
|
|
|
echo " - {$row['slug']}: {$row['title']}\n";
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|