debugレベルを0にしてリリースしているサイトで機能拡張のためにカラムを追加したが、なぜかsaveメソッドを呼び出しているところで追加したカラムが追加並びに更新対象にならない。
追加したカラムの名前がよくないのかと思って、いろいろ調べていたところ、CakePHP のおいしい食べ方で同じ現象が説明されていた。
debugレベルを0にしているとモデルがキャッシュされていることが原因で、データベースの構造が変わっていても反映されないようだ。通常はリリース後に機能拡張するときには、debugレベルを変更することが多いので、このような現象に悩まされることは少ないかもしれないが、cakePHPでアプリを開発している場合には、頭の片隅に入れておいてもよさそうだ。