Quy tắc tương thích khi tiến hóa schema | DevPrompt Lab

Dùng các giai đoạn mở rộng, backfill, xác minh, chuyển đổi và thu gọn khi đổi dữ liệu đang chạy.

rule · Architecture · advanced

English Tiếng Việt

Quy tắc rollout giúp thay đổi database có thể quan sát và tương thích giữa các phiên bản ứng dụng.

Nội dung có thể tái sử dụng

Với thay đổi schema đang có dữ liệu chạy thật, ưu tiên quy trình expand-and-contract. Trước hết thêm cấu trúc tương thích, triển khai mã chịu được cả dạng cũ và mới, backfill theo lô xác định có thể tiếp tục, đối soát số lượng cùng constraint, chuyển lượt đọc và ghi, rồi chỉ gỡ cấu trúc cũ ở giai đoạn riêng được phê duyệt. Đo mức khóa và công việc chạy lâu. Giữ đường restore đã xác minh và tài liệu hóa những bước rollback còn thực hiện được sau khi chuyển ghi.

Database: {{DATABASE}}

Kiểu triển khai: {{DEPLOYMENT_STYLE}}

Client hoặc worker cũ: {{LEGACY_CLIENTS}}

Cách sử dụng

Pattern theo giai đoạn có thể không cần cho database mới rỗng; hãy xác nhận bối cảnh triển khai thật.

Ví dụ

Không đổi tên cột đang dùng trong một lần triển khai khi worker cũ còn truy vấn cột đó; hãy thêm cột mới và tương thích kép trước.