2015年8月20日木曜日

Symfony 1.4でDQLをSQLにパース

Symfony 1.4をDoctrineで使っているアプリケーションで、もともとDQLのものを生SQLにしたいことがあったので、調べていたところ、パース方法をまとめているのを見つけました!

Raw SQL from Doctrine Query Object - Revised
http://insidethe.agency/blog/raw-sql-from-doctrine-query-object-revised

このサイトの記事自体が古いので、split()を使っているのですがPHP 5.3.0からは非推奨になっているため、preg_split()に書き換えると問題なく動きます!

$query_str_parts = preg_split('/\?/', $query_str);

こんな感じです!

更に、カラム名のリネームを削除したい場合は、preg_splitの前(16行目)に下記を追加するとできます。

$query_str = preg_replace('/AS\s\`[0-9a-z!-~]*\`/', '', $query_str);

リファレンスを確認しつつ、パースできないかやっているときに発見したので、とても助かりました。

2015年8月13日木曜日

MySQLで抽出したデータをcsvに保存する方法

MySQLで抽出したデータをcsvに保存する方法を忘れないようにメモ!

SELECT * FROM table
INTO OUTFILE "/path/to/save/dir/output.csv"
FIELDS TERMINATED BY ',';

不意にcsvに出力する必要が出てくることもあるので、しっかり覚えておこうと思います。

macOSでminikubeをインストールしようとしたら書き込みエラーになった

ローカル環境でKubernetesを使えるようにしようと環境構築中にエラーが 下記が今回のエラーで書き込みできない感じのメッセージが出ています。  $ brew install minikube Updating Homebrew... Error: The following ...