読者です 読者をやめる 読者になる 読者になる

nmtysh.log

Tech系のネタや日々の独り言などを書いています。

ネストしたトランザクションに久々に嵌った

データ変更のバッチ処理を書いて、検証して「よしOK」となりローカルの環境に本適用しました。 その後、念のため同一処理を再実行しても再適用されないことを検証したら何故か適用されちゃいました。 検証中は意図的にトランザクション処理をrollback()する…

CakePHP の $useDbConfig にはまった(備忘録)

結論: FixtureのuseDbConfigでDataSourceを指定するには、対になるDataSourceが定義されてないと駄目でした。 例) $test_hoge = array(/* ... */); なら $hoge = array(/* ... */); が定義されてないと駄目。 動的にDBの接続先を切り替えるプログラムを書い…

beforeSave() でDBを切り替える

Master/Slave なレプリケーションをしている場合、更新系は MasterDB に変更します。 CakePHP だと $this->useDbConfig を書き換える必要があります。 今までだと Model.php の save($data, $validate, $fieldList) をオーバーライドする必要がありました。 …

pg_dump でテーブルを指定する

pg_dump -t テーブル名 でテーブルを指定できるが、大文字を含むテーブル名の場合はダブルクォート(")でくくる必要がある。 ただ、pg_dump にダブルクォートごと渡す必要があるので、ダブルクォートをエスケープしないといけない。 例: > pg_dump.exe -t \"U…

PostgreSQL ログの文字化け対策

Ubuntu 10.04.2 にインストールした PostgreSQL のログが文字化けして読めないので、その対策。 $ sudo vi /etc/postgresql/8.4/main/postgresql.conf 450行目付近を次のように修正。 #lc_messages = 'ja_JP.UTF-8' # locale for system error message lc_me…