2011-11-08 90 views
5

我有兩個虛擬主機在我的服務器(dev和prod)上的代碼都是一樣的,他們都連接到同一個數據庫。CakePHP沒有從數據庫中獲取所有字段?

但是,我在表中添加了一個新列,我從中拉取數據,dev看到這個新列,而prod沒有。

我知道代碼是相同的,因爲它們都是同一個存儲庫的克隆,並且都更新爲最新的代碼。

我確認我正在處理相同的數據,通過改變其他字段值之一,我看到了雙方的變化。然而,我不斷添加新的列,dev繼續看到所有的新列,而prod沒有。 Prod確實看到了今天之前所有的列。

這對我沒有任何意義。我覺得我已經採取措施證明這不應該發生,但事實確實如此。

它還能是什麼?可能是我忽視的原因是什麼?

+4

你清除了模型緩存嗎? – Farray

+2

@Farray,就是這樣。請給出答案,以便我可以接受。 :) –

回答

15

是否全部目錄克隆?如果'/app/config/core.php'具有不同的調試值,我猜這是你的問題。調試級別都在每次請求時刷新模型緩存。調試級別0不。

您也可以手動強制Cake通過刪除生產計算機上'/ app/tmp/cache'目錄中的緩存模型來刷新模型。

+0

+1我會接受時限已過。順便說一下,我有core.php中的代碼,檢查它是否是開發環境,並將debug設置爲2或0。我只是不知道CakePHP緩存了模型的表結構。我清空緩存文件(不在版本控制下)並立即修復。 –

+0

謝謝@Ferray救了我的時間:) –

相關問題