2011-11-08 16 views
5

私のサーバ(devとprod)に2つの仮想ホストがあります。両方のコードが同じで、両方が同じデータベースに接続しています。CakePHPはDBからすべてのフィールドを取得していませんか?

しかし、テーブルに新しい列を追加しました。私はデータを取得していますが、devにはこの新しい列があり、prodは取得しません。

私は同じリポジトリのクローンと両方とも最新のコードに更新されているので、コードが同じであることは分かります。

私は他のフィールド値の1つを変更することによって同じデータを処理していることを確認しました。しかし、私は新しい列を追加し続けます。そして、prodは新しい列をすべて見続けます。 Prodは今日までにそこにあったすべての列を見る。

これは私には意味がありません。私はこれが起こってはならないことを証明するための措置を取ったようだが、それはまだある。

他に何がありますか?私が見落とした可能性のある原因は何でしょうか?

+4

モデルキャッシュをクリアしましたか? – Farray

+2

@Farray、それだった。私はそれを受け入れることができるように答えてください。 :) –

答えて

15

すべてディレクトリがクローンされていますか? '/app/config/core.php'に異なるデバッグ値がある場合は、これがあなたの問題であると推測しています。デバッグレベル1 & 2つのリフレッシュモデルキャッシュの両方が要求ごとに発生します。デバッグレベル0はありません。

また、プロダクションマシンの '/ app/tmp/cache'ディレクトリにキャッシュされたモデルを手動で削除することによって、Cakeにモデルをリフレッシュさせることもできます。

+0

+1期限が過ぎても受け入れます。ちなみに、core.phpにdev envかどうかをチェックするコードがあり、それに応じてデバッグを2または0に設定します。私はちょうどCakePHPがモデルのテーブル構造をキャッシュしているのを知らなかった。キャッシュファイル(バージョン管理下にない)を空にしてすぐに修正しました。 –

+0

ありがとうございます@Ferrayは私の時間を節約:) –

関連する問題