Mặt xấu của việc đẩy vào Heroku là tôi phải đẩy mã (và máy chủ khởi động lại tự động) trước khi chạy di chuyển db của tôi. Điều này rõ ràng có thể gây ra khoảng 500 lỗi khi người dùng điều hướng trang web có mã mới mà không có bảng/thuộc tính mới: giải pháp được Heroku đề xuất là sử dụng chế độ bảo trì, nhưng tôi muốn một cách không có nhược điểm cho phép webapp của tôi chạy mọi lúc!Triển khai nóng trên Heroku mà không có thời gian chết
Có cách nào không? Ví dụ với Capistrano:
- tôi chuẩn bị mã để triển khai trong một thư mục mới
- tôi chạy (lạc hậu) di cư và các mã cũ tiếp tục làm việc một cách hoàn hảo
- tôi Swith dụ thú lai vào thư mục mới và khởi động lại máy chủ
... và tôi không có thời gian chết!
Xin chào shingara, Tôi rất tiếc nhưng tôi không đồng ý với bạn. Tôi không muốn sử dụng cân bằng tải cho điều này: một trong những tính năng tuyệt vời của Heroku là sức mạnh đám mây "trasparent" bởi sự cần thiết và tôi muốn sử dụng tính năng này ... Để cân bằng tải trong Heroku tôi phải mantain hai các ứng dụng khác nhau và DB chỉ đọc có thể gây ra sự cố cho người dùng của tôi. Và hệ thống không có thời gian chết không bao giờ là không thể. Tôi đã sử dụng đúng hệ thống được giải thích mà không có thời gian chết. Trong trường hợp thay đổi lớn mà không có khả năng tương thích với lược đồ db tôi có thể sử dụng trang bảo trì: nhưng đây là 5% của tất cả các trường hợp của tôi ... – zetarun
Bạn có thể tránh được vấn đề được mô tả trong câu trả lời này bằng cách sử dụng CouchDB, ví dụ. – iconoclast