<? phpukraine ІНСТРУМЕНТИ
Пошук по платформі

SQL Formatter онлайн

Розкладає однорядковий запит на читабельний: відступи, ключові слова у верхньому регістрі, діалект MySQL або PostgreSQL.

У БРАУЗЕРІ ТЕКСТ → ТЕКСТ
РОБОЧА ЗОНА
ЩО РОБИТЬ

Робить запит із логу читабельним за секунду

Запит із slow query log або з DB::listen приходить в один рядок на пів екрана, і зрозуміти, де там JOIN, а де підзапит, неможливо. Інструмент розкладає його за ключовими словами з відступами, приводить ключові слова до одного регістру й знає діалекти MySQL і PostgreSQL.

ЯК ЦЕ ПРАЦЮЄ В PHP

У самому PHP форматера SQL немає: запити форматують інструменти бази або пакети на кшталт doctrine/sql-formatter, який використовує Symfony у профайлері. Головне ж джерело запитів для форматування це логування: у Laravel DB::listen, у Doctrine SQL-логер, у чистому PDO обгортка над query.

// Laravel: побачити запити, які реально йдуть у базу
DB::listen(function (QueryExecuted $query) {
    Log::debug($query->toRawSql(), ['ms' => $query->time]);
});

// один білдер без виконання
$sql = Job::query()->where('status', 'active')->orderByDesc('published_at')->toRawSql();
ПИТАННЯ

Що питають про цей інструмент

Ні, лише пробіли, переноси й регістр ключових слів. Імена таблиць і колонок лишаються як є, бо в PostgreSQL їхній регістр значущий, якщо вони в лапках. Результат виконується так само, як оригінал.

ДАЛІ ПО ТЕМІ