2009-12-23 18 views
5

Tôi đang xem xét cơ sở dữ liệu phiên bản và đã xem các bài viết thông thường về cách thực hiện điều này (mã hóa kinh dị, ode to code, v.v.). Điều này tất cả làm cho cảm giác hoàn hảo với tôi, tuy nhiên tôi đang cố gắng tìm một Á hậu kịch bản sẽ chạy các kịch bản sql cho tôi. Tất cả các bài viết này đề cập đến việc có một cái gì đó để tự động chạy chúng, nhưng không có đề xuất nào đưa ra bất kỳ đề xuất nào.Cần một cơ sở dữ liệu tập lệnh .NET phiên bản

Có ai biết về bất kỳ tiện ích nào để chạy các tập lệnh này không? Lý tưởng nhất là một cái gì đó mà làm việc theo cách sau:

  1. Chạy tất cả mọi thứ trong một giao dịch vì vậy nếu bất kỳ cập nhật duy nhất thất bại, toàn bộ điều không
  2. Tôi có kiểm soát đối với tên của phiên bản chương trình bảng cơ sở dữ liệu
  3. Khả năng để có một loạt các kịch bản mà luôn chạy nếu một bản nâng cấp diễn ra
  4. có thể chạy như một phần của một nhiệm vụ tự động

    EDIT

  5. Open Source

+0

DDL thường là không được phép trong một giao dịch, vì vậy đối với loại điều bạn thường muốn làm một bản sao lưu đầu tiên, sau đó áp dụng các kịch bản biến đổi versioning của bạn, và về lỗi, khôi phục lại bản sao lưu. –

+0

PS Ai có thể sugest một nhóm tốt hơn cho câu hỏi này? –

+0

@ Sam Tôi đoán điều giao dịch không phải là phải có sau đó, miễn là có một cơ chế để trả lại datbase trở lại trạng thái ban đầu của nó nên một cái gì đó thất bại, và làm điều đó automaticaly. –

Trả lời

5

Check-out SSW SQL Deploy - nó sẽ xuất hiện để làm chỉ là về tất cả các bạn đang xin. Nó theo dõi các kịch bản đã được thực hiện, nó sẽ chạy một loạt các tập lệnh cùng một lúc và trên nhiều máy chủ (nếu cần), v.v.

alt text

Đó là một công cụ khá đơn giản, nhưng tiện lợi - rất khuyến khích!

7

Chúng tôi sử dụng DbUp làm Script Runner trong Dự án web của chúng tôi. Các công cụ mã nguồn mở đơn giản và đẹp mắt của nó giúp bạn viết kịch bản lệnh riêng của bạn với ứng dụng Console Application.

DbUp là thư viện .NET giúp bạn triển khai các thay đổi đối với cơ sở dữ liệu SQL Server . Nó theo dõi các tập lệnh SQL nào đã được chạy và chạy các tập lệnh thay đổi cần thiết để cập nhật cơ sở dữ liệu của bạn.

chúng tôi có thể chạy tập lệnh từ thư mục trong hệ thống tệp hoặc bạn có thể nhúng chúng vào nhóm của bạn và chạy chúng dưới dạng tập lệnh được nhúng.

bạn có thể tìm thêm thông tin và lấy mẫu trên kho lưu trữ mã của họ trên github.

http://dbup.github.com