Шаг 2
Установка базы
Эта страница применяет `database/schema.sql` и `database/seed.sql`. Таблицы будут пересозданы.
getMessage() : 'Ошибка установки базы данных.'; } } } function install_stats(): array { try { $pdo = Database::pdo(); $tables = $pdo->query('SHOW TABLES')->fetchAll(PDO::FETCH_COLUMN); $categoryCount = in_array('categories', $tables, true) ? (int) $pdo->query('SELECT COUNT(*) FROM categories')->fetchColumn() : 0; $firstCategories = in_array('categories', $tables, true) ? $pdo->query('SELECT name FROM categories WHERE parent_id IS NULL ORDER BY sort_order LIMIT 12')->fetchAll(PDO::FETCH_COLUMN) : []; return [ 'ok' => true, 'database' => app_env('DB_DATABASE', ''), 'tables_count' => count($tables), 'category_count' => $categoryCount, 'first_categories' => $firstCategories, ]; } catch (Throwable $exception) { return [ 'ok' => false, 'error' => $exception->getMessage(), ]; } } function run_sql_file(PDO $pdo, string $path): void { if (!is_file($path)) { throw new RuntimeException('SQL file not found: ' . $path); } $sql = file_get_contents($path); if ($sql === false) { throw new RuntimeException('Cannot read SQL file: ' . $path); } $pdo->exec($sql); } ?>
Шаг 2
Эта страница применяет `database/schema.sql` и `database/seed.sql`. Таблицы будут пересозданы.