Trong mã di chuyển của Django, có một lệnh squashmigrations
: "Ép di chuyển cho app_label
tối đa và bao gồm migration_name
xuống ít di chuyển hơn, nếu có thể."Làm thế nào để squash di cư Django gần đây?
Vì vậy, nếu bạn muốn bíp, ví dụ, 5 lần di chuyển đầu tiên, điều này sẽ hữu ích.
Cách tốt nhất để chơi bóng quần bắt đầu bằng một số migration_name
cụ thể là gì?
Trong dự án tôi hiện đang làm việc, chúng tôi đã thêm 5-10 tệp di chuyển mới khi chúng tôi đã thêm các tính năng mới. Chúng tôi sẽ triển khai toàn bộ dự án cùng một lúc và có vẻ như việc chạy các dự án này sẽ mất quá nhiều thời gian. Tôi muốn bíp tất cả các di chuyển cho dự án này thành một lần di trú và kiểm tra thời gian để chạy nó.
Cập nhật về điều này - sau khi bẻ khóa và thử nghiệm, quá lâu. Một phần lớn của điều này là bởi vì đối với mỗi cột tôi đã thêm, MySQL sẽ sao chép toàn bộ bảng, thêm cột, và sau đó đổi tên bảng. Tôi đã sử dụng 'sqlmigrate' để xem SQL sẽ chạy và kết hợp bốn câu lệnh ALTER TABLE riêng biệt thành một với bốn phần ADD COLUMN và chạy nó bằng cách sử dụng' migrations.RunSQL' với đối số 'state_operations' để giữ trạng thái di chuyển của trạng thái hạnh phúc. –