Files
flixcooks-website/scripts/db-check.php
T

40 lines
1.1 KiB
PHP

<?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);
}
$pdo = get_db_connection();
if (!$pdo) {
fwrite(STDERR, "Keine DB-Verbindung zu: {$url}\n");
fwrite(STDERR, "Prüfe: Docker läuft? docker compose -f docker-compose.dev.yml ps\n");
exit(1);
}
init_db();
$count = (int) $pdo->query('SELECT COUNT(*) FROM recipes')->fetchColumn();
echo "Verbindung OK. Rezepte in DB: {$count}\n";
if ($count > 0) {
$stmt = $pdo->query("SELECT slug, data->'i18n'->'en'->>'title' AS title FROM recipes LIMIT 5");
echo "\nBeispiel-Zeilen:\n";
while ($row = $stmt->fetch()) {
echo " - {$row['slug']}: {$row['title']}\n";
}
}