17

Gần đây tôi đã dùng thử (phiên bản SQL 2008) và tôi thấy chúng khá ổn. Vâng, vấn đề duy nhất là trình hướng dẫn không đủ thông minh để cập nhật cấu trúc cơ sở dữ liệu mà không xóa tất cả dữ liệu trước. Đây có phải là lý do tại sao các dự án này không được sử dụng trong thực tế?Bất cứ ai sử dụng "dự án cơ sở dữ liệu" trong Visual Studio?

Thực tế chưa bao giờ thấy bất kỳ ai sử dụng hoặc bao giờ đề cập đến chúng. Cũng không có gì để được nhìn thấy trong các blog và diễn đàn, trừ khi bạn tìm kiếm nó một cách rõ ràng.

Có vấn đề gì với chúng?

+0

Bạn sẽ quay lại trong nhận xét về so sánh các lược đồ này một phần dữ liệu quan trọng và cho tôi biết rằng anh ấy không sử dụng VS Data Dude. – JoshBerke

+0

Có vẻ tốt hơn nhờ ;-) – JoshBerke

Trả lời

9

Tôi sử dụng dự án cơ sở dữ liệu là một phần của Visual Studio Database Edition. Đây là một công cụ tuyệt vời. Về cơ bản bạn xác định toàn bộ lược đồ, trong việc tạo các tập lệnh sau đó được kiểm tra vào kiểm soát nguồn. Sau đó nó có các công cụ được xây dựng để tạo ra các kịch bản khác nhau, mà bằng cách này không xóa dữ liệu.

Nó cũng có công cụ so sánh dữ liệu để bạn có thể so sánh dữ liệu giữa cơ sở dữ liệu và tạo tập lệnh để làm cho cơ sở dữ liệu giống nhau.

Bản phát hành GDR gần đây có một số tính năng thú vị được thêm vào đó. Như vậy có vẻ như nếu bạn sử dụng phương thức triển khai được xây dựng của họ, bạn có thể tạo một gói triển khai khi chạy nó sẽ phân tích cơ sở dữ liệu đích và chỉ áp dụng các khác biệt.

Nếu bạn có Team Studio - Team Suite hoặc Ấn bản phát triển thì bạn có thể sử dụng Ấn bản cơ sở dữ liệu.

Hãy thử và là một bước tiến lớn trong phát triển cơ sở dữ liệu

+0

bạn có thể dẫn tôi đến cách tạo ra các kịch bản khác biệt trong vs? – vittore

+0

@vittore: Từ trình đơn dữ liệu trong so sánh lược đồ chọn ... – JoshBerke

5

Chúng tôi sử dụng chúng. Chúng tôi giữ tất cả các lược đồ của chúng tôi tạo/cập nhật tập lệnh và Thủ tục lưu trữ. Mục đích chính là chúng ta có thể kết nối dự án với một SourceSafe hoặc SVN.

Cách dễ dàng để giữ cho phiên bản SQL của bạn được kiểm soát phiên bản.

Có một chút kỳ quặc khi cố gắng thực hiện một số kiểm tra SQL trong VS, nhưng bạn sẽ tìm cách xung quanh nó.

Cập nhật

Chúng tôi thực sự có nó được xây dựng thành kịch bản triển khai của chúng tôi, công cụ triển khai của chúng tôi, đi qua các dự án DB (trừ cho các thư mục được gắn cờ) và chạy tất cả các kịch bản. Chúng tôi vừa xây dựng một công cụ nhanh để chạy dự án. Nếu bất cứ ai có các giải pháp khác để triển khai dự án DB sẽ hữu ích.

8

Giống như Glennular, chúng tôi đang sử dụng chúng để kiểm soát phiên bản lược đồ và s'procs của chúng tôi.

Mặc dù chúng tôi có cấu trúc điều khiển phiên bản khá tiên tiến (CI, triển khai tự động cho dev, triển khai nhấp chuột duy nhất đến giai đoạn và sản phẩm); chúng tôi không bao gồm bất kỳ dự án DB nào trong cấu trúc đó. Chúng tôi chỉ không tin tưởng nó.

UPDATE: (ví Out In Space)

Chúng tôi có dự án TFS riêng biệt cho các khu chức năng của công ty (Sales, Marketing, vv). Trong mỗi dự án TFS chúng ta có một thư mục Chính và Sản xuất. Chúng tôi cũng có một dự án TFS chứa các dự án Cơ sở dữ liệu và một dự án khác có chứa các dự án hội thảo/hội thảo chung.

Khi phát hành, chúng tôi phân nhánh từ Chính đến Sản xuất. Chúng tôi không có chi nhánh dàn dựng khi chúng tôi di chuyển quá nhanh để giải quyết vấn đề đó.Đúng hay sai, năng suất của chúng tôi được đo một phần bởi số lượng bản phát hành cấp sản xuất mà chúng tôi thực hiện mỗi tuần; sửa lỗi, tính năng mới, v.v.

CI được thiết lập trên nhánh chính sao cho mọi lần kiểm tra đều khiến máy chủ Build triển khai vào môi trường DEV của chúng tôi. Các bài kiểm tra đơn vị và Web sau đó được chạy và chất lượng xây dựng được tự động đặt thành "Phát triển" nếu nó hoàn tất thành công. Khi một người nào đó thay đổi Build Quality thành "In Staging" Điều này gây ra bất kỳ phiên bản "In Staging" trước đó được thiết lập thành "Bị từ chối" và khiến cho việc xây dựng đó được đẩy tới máy chủ dàn dựng của chúng tôi trong khi cập nhật các tệp cấu hình để trỏ tới máy chủ chính xác. (Tôi đã sử dụng kịch bản lệnh TFS Deployer và PowerShell cho việc này).

QA thực hiện kiểm tra trên các máy chủ dàn dựng của chúng tôi. Khi họ hạnh phúc, nhóm sản xuất sẽ thay đổi Chất lượng Xây dựng thành "Sản xuất". Điều này làm cho việc xây dựng được gửi đến một khu vực sản xuất mà sau đó được sao chép theo cách thủ công đến vị trí chính xác. Sau khi hoàn thành, sản xuất sẽ thông báo cho người phát triển sau đó phân nhánh phiên bản đó vào thư mục Sản xuất. QA cũng được thông báo rằng ai sẽ thực hiện kiểm tra Sản xuất để xác minh mọi thứ thực sự hoạt động như mong đợi.

Chúng tôi có báo cáo được thiết lập để cho chúng tôi thấy những thay đổi tồn tại giữa các bản phát hành sản phẩm để chúng tôi biết mọi đăng ký đang được triển khai. Điều đó ngăn cản các ẩn số xuất hiện, chẳng hạn như thay đổi cơ sở dữ liệu, vv hoặc một số mã có khả năng phá vỡ khác.

Hơn nữa, BA của chúng tôi đang theo dõi các mục công việc thông qua Team System Web Access và biết khi nào các mục đó đang được sản xuất.

Mặc dù DBA của chúng tôi đang sử dụng Ấn bản cơ sở dữ liệu (GDR), nhưng chúng không bị ấn tượng với mức độ kiểm soát cho việc triển khai tự động. Tôi hy vọng rằng Rosario mang lại một số kiểm soát triển khai tốt hơn cho dòng sản phẩm; nhưng cho đến lúc đó chúng tôi có TFS Deployer và powershell.

+0

Bạn có thể mở rộng cấu trúc điều khiển phiên bản của mình một chút không? –

1

Chúng tôi sử dụng dự án cơ sở dữ liệu để cung cấp kiểm soát phiên bản cho các tập lệnh SQL của chúng tôi. Chúng tôi cũng thích sử dụng môi trường Visual Studio để chỉnh sửa SQL; nó dễ sử dụng hơn một chút đối với một số nhà phát triển mới hơn phân tích truy vấn của chúng tôi.

1

Tôi đã sử dụng chúng trên một vài dự án trả tiền và tôi nghĩ đó là một công cụ tuyệt vời. Thats nói, tôi đã thấy một số vấn đề.

  1. Nếu tệp .dat trong thư mục dự án db của bạn không đồng bộ với trường hợp tạm thời của cơ sở dữ liệu, so sánh lược đồ sẽ cho kết quả không chính xác. Bạn không chắc chắn điều này xảy ra như thế nào, lược đồ xem xét so sánh cẩn thận và thổi đi tệp .dat của bạn (sau khi đóng giải pháp) nếu mọi thứ có vẻ sai.

  2. Nếu bạn có hơn 20 cơ sở dữ liệu và chúng tham chiếu lẫn nhau và sử dụng tham chiếu vòng tròn ... Sẽ bị tổn thương. Tôi đã không tìm ra cách để làm cho nó quy mô cho kịch bản đó. GDR 2 dường như hứa hẹn.

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