2008-12-30 16 views
5

Tôi sắp bắt tay vào việc phát triển một dự án ứng dụng web.Thực hành tốt nhất để quản lý các thay đổi mô hình dữ liệu trong một hệ thống đã phát hành

Tôi muốn chuẩn bị sớm và thường xuyên cho những người dùng đầu tiên chơi cùng với phản hồi.

Nhưng tôi dự tính mô hình dữ liệu thay đổi khi dự án tiến triển và sự hiểu biết của tôi về hệ thống được cải thiện.

Tôi nên quản lý tình huống khó xử khi cập nhật mô hình dữ liệu một cách thích hợp và ngăn ngừa mất dữ liệu cho người dùng đầu tiên như thế nào? Tôi có nên chỉ cần đưa ra một cảnh báo lớn nói rằng "người dùng hãy cẩn thận", hoặc tôi nên đặt trong nỗ lực để tạo ra các kịch bản di chuyển?

Trả lời

3

Scott Ambler đã viết một số nội dung hay về cơ sở dữ liệu nhanh. Có một số book và một số website.

5

Bạn đang sử dụng nền tảng nào? Ruby on Rails cung cấp cho bạn các kịch bản di trú như một phần của gói. Nếu bạn đang ở trong vùng đất Java, bạn có thể muốn xem migrate4j. Cuối cùng, tôi khuyên bạn nên thực hiện cả hai điều: Cảnh báo người dùng của bạn rằng họ đang sử dụng phần mềm alpha và sử dụng tập lệnh di chuyển với mục đích bảo toàn dữ liệu của họ bất cứ khi nào bạn có thể (vì sợ rằng họ trở nên khó chịu và mất hứng thú) .

2

Đối với công ty của tôi ...

Đó là một quy tắc cứng và nhanh đến nỗi, khi có thể, cơ sở dữ liệu PHẢI tương thích ngược với phiên bản hiện tại của phần mềm. Nếu nó không phải là khu nghỉ mát để tar và chiến thuật lông chống lại người phạm tội.

Trong trường hợp của chúng tôi, chúng tôi viết ứng dụng phần mềm tùy chỉnh cho khách hàng của chúng tôi, vì vậy chúng tôi có một số linh hoạt về cách chúng tôi có thể thực hiện mọi thứ ... nhưng thường xuyên hơn hay không, khách hàng muốn xem các thay đổi của họ với dữ liệu trực tiếp. Vì vậy, chúng tôi phải có khả năng hỗ trợ phiên bản hiện tại của ứng dụng, cộng với phiên bản mới của ứng dụng mà khách hàng đang xem xét và phê duyệt.

Một số việc khác chúng tôi thực hiện được đầu tư vào số So sánh Sql của Cổng đỏ và So sánh dữ liệu Sql. Điều này đảm bảo thay đổi từ môi trường phát triển được chuyển vào môi trường sản xuất một cách chính xác.

Chúng tôi cũng đã gần đây bị bỏ qua việc sử dụng thủ tục được lưu trữ, vì chúng cung cấp lớp trừu tượng không cần thiết khi bảo trì ... và chúng là điều xấu! =)

+0

"Ác ma"? Có thể quá mạnh. Mặc dù vậy, tôi có thể tôn trọng việc thực hiện nó dựa trên trải nghiệm khó khăn của riêng bạn. – duffymo

Các vấn đề liên quan