2011-11-08 10 views
5

Mam 2 vhosts na moim serwerze (dev i prod) kod na obu jest taki sam, obaj połączyć się z tej samej bazy danych.CakePHP nie otrzymuje wszystkich pól z DB?

Dodałem jednak nową kolumnę do tabeli, z której pobierałem dane, a programista widzi tę nową kolumnę, a prod nie.

Wiem, że kod jest taki sam, ponieważ oba są klonami tego samego repozytorium i oba zaktualizowane do najnowszego kodu.

Potwierdziłem, że mam do czynienia z tymi samymi danymi, zmieniając jedną z pozostałych wartości pola i widzę zmianę po obu stronach. Jednak ciągle dodaje nowe kolumny i dev nadal widzi wszystkie nowe kolumny, podczas gdy prod nie. Prod widzi wszystkie kolumny, które były tam do dzisiaj.

To nie ma dla mnie żadnego sensu. Czuję, że podjąłem kroki, aby udowodnić, że to się nie powinno dziać, a jednak tak jest.

Co jeszcze może być? Co może być możliwą przyczyną, którą przeoczyłem?

+4

Czy wyczyściłeś pamięć podręczną modelu? – Farray

+2

@Farray, to było to. Proszę, zróbcie odpowiedź, abym mógł ją przyjąć. :) –

Odpowiedz

15

Czy katalogi są sklasyfikowane jako wszystkie? Jeśli "/app/config/core.php" ma różne wartości debugowania, zgaduję, że to byłby twój problem. Poziomy debugowania 1 & 2 odświeżają pamięci podręczne modelu przy każdym żądaniu. Poziom debugowania 0 nie jest.

Można również ręcznie wymusić Cake, aby odświeżyć modele, usuwając modele z pamięci podręcznej w katalogu "/ app/tmp/cache" na komputerze produkcyjnym.

+0

+1 Przyjmuję, gdy upłynie termin. Przy okazji, mam kod w core.php, który sprawdza, czy jest to dev env czy nie i ustawia odpowiednio debugowanie na 2 lub 0. Po prostu nie wiedziałem, CakePHP buforował strukturę tabeli modelu. Opróżniłem plik pamięci podręcznej (który nie jest pod kontrolą wersji) i został natychmiast naprawiony. –

+0

Dziękuję @Ferray zapisał mój czas :) –

Powiązane problemy