2010-08-12 59 views
5

Tôi có một dự án cơ sở dữ liệu Visual Studio 2008 mới (Data Dude). Nó được tạo ra bằng cách trỏ vào cơ sở dữ liệu hiện có của chúng tôi. Bây giờ tôi đã thực hiện một vài thay đổi (các cột, bảng, chỉ mục mới, v.v.) và tôi đang cố tạo kịch bản triển khai (diff) để triển khai. Tôi có một thiết lập so sánh lược đồ để so sánh và tạo ra tập tin kịch bản khác. Tôi nghĩ rằng tôi đã tinh chỉnh hầu hết các thiết lập so sánh và đối tượng bỏ qua những gì tôi cần, tuy nhiên, ở đầu tôi nhận được một vài lệnh ALTER DATABASE mà tôi không muốn tạo ra. Chúng trông giống như thế này:Visual Studio 2008 Database Project tạo ALTER DATABASE trong khi so sánh lược đồ

IF EXISTS (SELECT 1 
      FROM [master].[dbo].[sysdatabases] 
      WHERE [name] = N'$(DatabaseName)') 
    BEGIN 
     ALTER DATABASE [$(DatabaseName)] 
      SET ANSI_NULLS ON, 
       ANSI_PADDING ON, 
       ANSI_WARNINGS ON, 
       ARITHABORT ON, 
       CONCAT_NULL_YIELDS_NULL ON, 
       QUOTED_IDENTIFIER ON, 
       ANSI_NULL_DEFAULT ON, 
       CURSOR_DEFAULT LOCAL 
      WITH ROLLBACK IMMEDIATE; 
    END 


GO 
IF EXISTS (SELECT 1 
      FROM [master].[dbo].[sysdatabases] 
      WHERE [name] = N'$(DatabaseName)') 
    BEGIN 
     ALTER DATABASE [$(DatabaseName)] 
      SET PAGE_VERIFY NONE 
      WITH ROLLBACK IMMEDIATE; 
    END 


GO 

Tôi muốn tinh chỉnh các cài đặt để không phải liên lạc với nhóm 15+ thành viên của mình mà họ cần phải loại bỏ các dòng đó khỏi tệp khác mỗi khi họ muốn để kéo xuống và triển khai mới nhất cho môi trường của họ.

Cài đặt nào đang kiểm soát cài đặt này?

Trả lời

1

Có các cài đặt để kiểm soát điều này trong tệp .sqldeployment và .sqlsettings của dự án (có sẵn trong thư mục Thuộc tính của dự án trong Solution Explorer). Bản thân các cài đặt có thể được tinh chỉnh trong tệp .sqlsettings [DB Settings Screenshot] và khả năng vô hiệu hóa toàn bộ quá trình tạo tập lệnh thuộc tính cơ sở dữ liệu có thể tìm thấy trong hộp kiểm đầu tiên khi xem cài đặt .sqldeployment. [SQL Deployment Settings Screenshot]

+1

Chỉ cần thêm một số chi tiết khác vào câu trả lời. Khi chúng ta tạo dự án SQL từ db hiện có của mình, chúng ta phải bỏ qua tùy chọn để tạo ra các SQLSettings từ cơ sở dữ liệu và, thay vào đó, đã chọn sử dụng các thiết lập "mặc định" cho dự án db (dữ liệu dude). Vì vậy, db hiện tại của tôi không có các tùy chọn này được thiết lập, vì vậy nó muốn đặt chúng trong thế hệ "kịch bản khác biệt" của tôi vì chúng được chỉ định trong tệp "sqlsettings" mặc định, nhưng không thực sự trong db của tôi. Tôi vẫn muốn vô hiệu hóa chúng từ thế hệ, nhưng đó là nhiều hơn một người đứng đầu lên để đảm bảo rằng bạn tạo dự án db của bạn sạch sẽ lần đầu tiên – Brian

4

Có hai hộp kiểm phải được bỏ chọn trước khi lưu hồ sơ xuất bản. Hãy chắc chắn rằng bạn đi đến bất động sản dự án -> Debug và bỏ chọn "Triển khai các thuộc tính cơ sở dữ liệu"

Click here to view screenshot

sau đó nhấp chuột phải vào dự án cơ sở dữ liệu của bạn -> xuất bản sau đó bấm vào nút "Advanced" để bỏ chọn "Triển khai các thuộc tính cơ sở dữ liệu"

Click here to view screenshot

Bấm OK, Nhấp vào Lưu hồ sơ As, và từ giờ trở đi, mỗi khi bạn triển khai kịch bản của bạn được tạo ra bằng cách sử dụng công bố hồ sơ mà bạn vừa tạo, sẽ chỉ chứa những sửa đổi mà bạn muốn.

Tôi đang sử dụng VS 2013 với SSDT mới nhất kể từ ngày 20 tháng 4 năm 2016.

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