Xin chào. Tôi đang gặp khó khăn trong việc di chuyển các thay đổi mà tôi đã thực hiện i tệp config/doctrine/schema.yml của mình.Sử dụng mô hình và di chuyển tốt hơn trong symfony
Tôi đã thêm cột age
vào bảng user
. Sau đó, tôi đã thực hiện một số php symfony doctrine:generate-migrations-diff
, tiếp theo là php symfony doctrine:migrate
.
Tìm trong cơ sở dữ liệu của tôi, cột age
hiện được thêm vào mà không xóa bất kỳ dữ liệu nào.
Nhưng, /lib/model/doctrine/base/BaseUser.class.php của tôi không thay đổi, không có trường age
hoặc chức năng cho age
. Vì vậy, tôi cũng đã làm lệnh php symfony doctrine:build-model
. Cuối cùng, mô hình cũng được cập nhật/di chuyển.
Vì vậy, tôi tự hỏi, đây có phải là cách duy nhất không? Có vẻ như rất nhiều công việc, và tôi sợ bỏ lỡ điều gì đó mỗi khi làm việc đó.
Tôi có thể truy cập ngay vào phpmyadmin, thêm thay đổi trong cơ sở dữ liệu ở đó và chỉ cần thực hiện một số php symfony doctrine:build-schema
và giống như bỏ qua phần di chuyển (hai lệnh).
Ngoài ra khi nói đến việc sử dụng các mô hình, tôi có đúng /lib/model/doctrine/User.class.php là nơi tôi có thể thực hiện các chức năng và cho Lớp người dùng "dữ liệu" của tôi không? Giống như, tạo một hàm isFemale
. Nếu không, thì loại chức năng đó sẽ ở đâu?
Đây có thể là câu hỏi không đúng, nhưng tại sao lại là lớp mô hình bên trong đường dẫn/lib/doctrine? Theo như tôi đã học được, bạn giữ mô-đun bên trong ứng dụng, nơi bạn tạo chế độ xem và bộ điều khiển của mình. Tại sao mô hình nên ở bên ngoài. Như thế này tôi có thể làm cho các mô hình mà không có bộ điều khiển kèm theo và xem?
Cảm ơn.
+1 cho câu trả lời hay và được giải thích –
Bây giờ tôi vừa gặp lỗi, không thể tạo ra các lớp di trú từ sự khác biệt. Không có lỗi nào khác hơn: ( – Johannes
Johannes, điều đó có nghĩa là lược đồ và mô hình được đồng bộ hóa. Hãy nhớ không xây dựng mô hình cho đến khi bạn tạo di chuyển. – Darmen