Một cách tốt để theo dõi các thay đổi giản đồ trên nhiều nhánh của dự án phát triển là tuân theo tái cấu trúc cơ sở dữ liệu quá trình. Trong số các lợi ích khác, loại quy trình này kết hợp việc sử dụng các tập lệnh di chuyển và delta để áp dụng các thay đổi giản đồ cho từng môi trường (hoặc nhánh trong trường hợp của bạn). Thiết lập có thể trông giống như sau:
main
src <-- ASP.NET project source
db <-- Database create scripts
delta <-- Database change scripts (SQL delta files)
branch
src
db <-- usually has the same contents as the copy in main branch
delta <-- only the changes necessary for this branch
Mỗi khi bạn cần thay đổi lược đồ cơ sở dữ liệu cho một nhánh cụ thể, bạn tạo một tập lệnh SQL delta được sử dụng để áp dụng thay đổi. Để dễ dàng hơn, tôi khuyên bạn nên đặt tên cho mỗi tệp kịch bản để bao gồm ngày và giờ tạo để giữ chúng theo trình tự. Ví dụ sẽ là:
201102231435_addcolumn.sql
201102231447_addconstraint.sql
201103010845_anotherchange.sql
Thêm tệp delta vào kiểm soát nguồn trong nhánh cần thực hiện thay đổi giản đồ. Bạn nên kết thúc với mỗi nhánh chứa chính xác những gì cần thiết để thay đổi cơ sở dữ liệu tương ứng. Một số chi tiết có thể cần được điều chỉnh cho trường hợp của bạn tùy thuộc vào những thứ như sơ đồ phân nhánh của bạn và cơ sở dữ liệu của bạn có được bảo tồn trong quá trình phát hành hay không (trái ngược với việc được tạo lại).
Cuối cùng, để cố gắng làm cho những khái niệm này trở nên đơn giản, tôi muốn giới thiệu một công cụ để giúp quản lý quy trình. Đề xuất của tôi là hãy xem DBDeploy / DBDeploy.NET . Tôi đã vui vẻ sử dụng nó trong nhiều năm cho tất cả các dự án của mình.