http://odetocode.com/Blogs/scott/archive/2008/01/30/11702.aspx
Blog trên đưa chúng tôi đến hệ thống kiểm soát phiên bản cơ sở dữ liệu hiện tại của chúng tôi. Nói một cách đơn giản, không có thay đổi DB nào được thực hiện mà không có tập lệnh cập nhật và tất cả các tập lệnh cập nhật đều nằm trong kho kiểm soát nguồn của chúng tôi.
Chúng tôi chỉ quản lý thay đổi lược đồ nhưng bạn cũng có thể/sẵn sàng cân nhắc việc lưu trữ dữ liệu của mình trong kiểm soát phiên bản; tạo các tệp như vậy là một bài tập khá tầm thường khi sử dụng mysqldump.
Giải pháp của chúng tôi khác với giải pháp được trình bày trong blog theo một cách chính: nó không tự động. Chúng tôi phải bàn tay áp dụng các cập nhật cơ sở dữ liệu, vv Mặc dù điều này có thể hơi tốn thời gian, nhưng nó đã trì hoãn một số nỗ lực mà một hệ thống hoàn toàn tự động sẽ yêu cầu. Tuy nhiên, một điều chúng tôi đã làm là tự động theo dõi phiên bản db trong phần mềm: điều này khá đơn giản và đảm bảo rằng phần mềm của chúng tôi biết về cơ sở dữ liệu đang chạy và sẽ CHỈ chạy nếu nó biết lược đồ đang hoạt động.
Phần khó nhất trong giải pháp của chúng tôi là cách hợp nhất các cập nhật từ các chi nhánh của chúng tôi vào thân cây của chúng tôi. Chúng tôi đã dành một chút thời gian để phát triển một luồng công việc để giải quyết khả năng của hai nhà phát triển cố gắng hợp nhất các chi nhánh với các bản cập nhật DB cùng một lúc và cách xử lý nó. Cuối cùng, chúng tôi đã quyết định khóa tệp trong kiểm soát phiên bản (tệp thực sự cho chúng tôi thực sự là phiên bản phần mềm lập bản đồ bảng để hỗ trợ chiến lược quản lý thủ công của chúng tôi), giống như phần quan trọng của chủ đề và nhà phát triển khóa đi về bản cập nhật của thân cây. Khi hoàn thành, nhà phát triển khác sẽ có thể khóa và họ có trách nhiệm thực hiện bất kỳ thay đổi nào cần thiết cho tập lệnh của họ để đảm bảo rằng các phiên bản dự kiến va chạm và các juju xấu khác đều bị tránh.
Điều này trông giống như một lựa chọn thực sự thú vị. Tôi rất thích nghe trải nghiệm của một số người với thư viện di trú .NET – Greg
Cảm ơn bạn đã cập nhật Tôi sẽ thử tuyến đường Di chuyển. – Greg
Tôi đã thực hiện một số sửa đổi của riêng mình cho migratordotnet và đã sử dụng điều này khá thành công ngay bây giờ. – Greg