miễn là bạn thêm cột/bảng vào cơ sở dữ liệu của bạn, nó sẽ là một nhiệm vụ dễ dàng bằng cách viết kịch bản những thay đổi này trước trong tệp sql. bạn chỉ cần thực hiện chúng. có thể bạn có một số lệnh để thực hiện chúng.
giải pháp tốt là tạo một tệp cho mỗi bảng để tất cả các thay đổi thuộc bảng này sẽ hiển thị với người đang làm việc trên bảng (giống như làm việc trên lớp). điều tương tự cũng hợp lệ đối với các thủ tục hoặc chế độ xem được lưu trữ.
một nhiệm vụ khó khăn hơn (và do đó có thể là công cụ tốt) là bước lùi lại. miễn là bạn chỉ cần thêm các bảng/cột có thể đây sẽ không phải là một vấn đề lớn. nhưng nếu bạn đã bỏ các cột trên một bản cập nhật, và bây giờ bạn phải hoàn tác cập nhật của bạn, dữ liệu không còn ở đó nữa. bạn sẽ cần lấy dữ liệu này từ bản sao lưu. nhưng hãy nhớ, nếu bạn có nhiều hơn thì một vài bảng này có thể là một nhiệm vụ lớn, và trong trường hợp bình thường, bạn nên hoàn tác cập nhật của mình rất nhanh!
nếu bạn chỉ có thể khôi phục bản sao lưu, sau đó là tiền phạt trong thời điểm này.nhưng, nếu bạn cập nhật vào thứ hai, khách hàng của bạn làm việc cho đến thứ tư và sau đó họ thấy rằng một số dữ liệu bị thiếu (mà bạn vừa bỏ ra khỏi bảng) thì bạn không thể khôi phục cơ sở dữ liệu cũ.
tôi có một phương pháp dựa trên mô hình trong tâm trí của mình (xin lỗi, không được triển khai tại thời điểm này) trong đó các thay đổi lược đồ được "lập mô hình" (ví dụ: trên xml) và trong quá trình cập nhật bộ xử lý (ví dụ: chương trình aC#) tất cả "sql" cần thiết và ví dụ di chuyển dữ liệu đến một "dropDatabase". các dữ liệu có thể cư trú ở đó, và nếu vì một lý do nào đó tôi cần phải khôi phục lại một số dữ liệu bị loại bỏ, tôi chỉ có thể làm điều đó với bộ vi xử lý. tôi nghĩ rằng trong một thời gian (năm) cách tiếp cận này không phải là xấu bởi vì nếu không nhà phát triển không chạm vào bảng "cũ" bởi vì họ không biết nữa nếu bảng hoặc cột là thực sự cần thiết. với cách tiếp cận này, bạn không mạo hiểm quá nhiều nếu bạn bỏ thứ gì đó!
Tôi thích liên kết này rất nhiều. Nó đã được suy nghĩ và thông tin. Nhiều hơn so với câu trả lời được chấp nhận của tôi. Tuy nhiên, nếu tôi nhớ chính xác, các câu trả lời của Stack Overflow phải là câu trả lời/tóm tắt và cung cấp liên kết; thay vì chỉ một liên kết. Lấy làm tiếc. Nhưng quan trọng hơn, cảm ơn nó là tuyệt vời !! Đọc nó! – SnapJag