Chúng tôi có trang web dựa trên Django khá đơn giản để thực hiện các hoạt động CRUD. Tôi đã làm thử nghiệm và phát triển cục bộ và sau đó kiểm tra các bản phát hành và thay đổi lược đồ cơ sở dữ liệu trên máy chủ trực tiếp sau khi thử nghiệm được thực hiện. Gần đây, chúng tôi đã gặp sự cố khi phát hành một số loại thay đổi. Hãy tưởng tượng chuỗi sự kiện sau:Cách cập nhật an toàn trang web trực tiếp
- tài khoản mở ra một mẫu web
- Site được cập nhật để đòi hỏi lĩnh vực mới vào mẫu này
- tài khoản nộp hình thức mà họ đã làm việc trên
- Server trả về một lỗi vì dự kiến sẽ nhận được trường mới đã được thêm vào trong bước 2
Các trang web khác xử lý các loại vấn đề này như thế nào? Ý tưởng của tôi:
- Đưa trang web ngoại tuyến trong khi cập nhật đang được thực hiện. Điều này không thực sự giải quyết vấn đề, bởi vì người dùng có thể mở biểu mẫu web trong một khoảng thời gian trước khi gửi, nhưng sau một khoảng thời gian nhất định, không ai có thể gửi biểu mẫu.
- Thực hiện cập nhật tự động ở thời gian lưu lượng rất thấp. Một lần nữa điều này không thực sự giải quyết vấn đề, nhưng trang web của chúng tôi không phải là phổ biến và nếu chúng tôi đã cập nhật lúc 3: 00a tôi nghi ngờ sẽ có nhiều người dùng. Một mối quan tâm với kỹ thuật này là cập nhật tự động không thành công.
- Biểu mẫu phiên bản để máy chủ nhận ra rằng biểu mẫu cũ đang được gửi và cung cấp phản hồi thân thiện với người dùng hơn. Có các công cụ tự động nào có thể trợ giúp điều này không?
Suy nghĩ?
Sự cố - người dùng gửi biểu mẫu trong quá trình nâng cấp - đủ phổ biến để vặn tay của bạn? Hay đây là một giả thuyết "có thể xảy ra một ngày nào đó"? –
@ S.Lott, chúng tôi sẽ không lập trình tốt nếu chúng tôi không lo lắng về các trường hợp góc. –
Tôi nghĩ câu hỏi thực sự là "Cách tốt để nâng cấp trang web trực tiếp là gì?" – winsmith