Sequel Proをよく使っているのですが、整形できなくて不便だったので、整形するようにBundleを設定しました。
以下の例のように整形できます。
整形前
整形後
手順
PHPスクリプトのSqlFormatterのインストール
インストール先は任意ですが、今回は以下のようにインストールします。
cd /usr/local/lib/
git clone git@github.com:jdorn/sql-formatter.git
# 以下にスクリプトが配置されている
/usr/local/lib/sql-formatter/lib/SqlFormatter.php
メニューの[バンドル]->[バンドルエディタ]を選びエディタを開き以下のように設定します。(ショートカットは任意です)
#!/usr/local/bin/php
<?php
require_once '/usr/local/lib/sql-formatter/lib/SqlFormatter.php';
$sql = '';
while (($line = fgets(STDIN))) {
$line = str_replace(array("\r\n","\r","\n"), ' ', $line);
$sql .= $line;
}
echo SqlFormatter::format($sql, false);
試してみると実際に[クエリ]で整形できました。
まとめ
Sequel Proのバンドルという機能をつかって外部スクリプトを実行し、その整形された結果を受け取ることができました。
バンドルは他にも機能があるので確認してみると便利なものが発見できるかもしれません。