2011-11-08 40 views
5

Tôi có 2 vhost trên máy chủ của mình (dev và prod) mã trên cả hai đều giống nhau, cả hai đều kết nối với cùng một cơ sở dữ liệu.CakePHP không nhận được tất cả các trường từ DB?

Tuy nhiên, tôi đã thêm cột mới vào bảng Tôi đang kéo dữ liệu từ và dev thấy cột mới này và sản phẩm không có.

Tôi biết mã giống nhau vì chúng là cả hai bản sao của cùng một kho lưu trữ và cả hai đều được cập nhật thành mã mới nhất.

Tôi xác nhận rằng tôi đang xử lý cùng dữ liệu bằng cách thay đổi một trong các giá trị trường khác và tôi thấy thay đổi ở cả hai bên. Tuy nhiên tôi tiếp tục bổ sung thêm các cột mới và dev tiếp tục thấy tất cả các cột mới trong khi prod thì không. Prod không thấy tất cả các cột đã có trước đó cho đến hôm nay.

Điều này không có ý nghĩa gì đối với tôi. Tôi cảm thấy như tôi đã thực hiện các bước để chứng minh rằng điều này không nên xảy ra và nó được.

Còn gì nữa? Điều gì có thể là nguyên nhân có thể khiến tôi bỏ qua?

+4

Bạn đã xóa bộ đệm mô hình của mình chưa? – Farray

+2

@ Farray, đó là nó. Hãy làm cho câu trả lời đó để tôi có thể chấp nhận nó. :) –

Trả lời

15

Có phải tất cả các thư mục được nhân bản không? Nếu '/app/config/core.php' có các giá trị gỡ lỗi khác nhau, tôi đoán đây sẽ là vấn đề của bạn. Cấp độ gỡ lỗi 1 & 2 cả bộ đệm mô hình làm mới theo từng yêu cầu. Cấp độ gỡ lỗi 0 thì không.

Bạn cũng có thể buộc Bánh làm mới các mô hình bằng cách xóa các mô hình được lưu trong bộ nhớ cache trong thư mục '/ app/tmp/cache' trên máy sản xuất.

+0

+1 Tôi sẽ chấp nhận khi hết thời hạn. Bằng cách này, tôi có mã trong core.php kiểm tra nếu nó là dev env hay không và đặt gỡ lỗi hoặc là 2 hoặc 0 cho phù hợp. Tôi chỉ không biết CakePHP đã lưu trữ cấu trúc bảng của mô hình. Tôi làm trống tập tin bộ nhớ đệm (mà không phải là dưới sự kiểm soát phiên bản) và nó cố định ngay lập tức. –

+0

Cảm ơn bạn @Ferray đã lưu thời gian của tôi :) –

Các vấn đề liên quan