5

Tôi đang sử dụng một máy chủ cơ sở dữ liệu SQL Dự án với Visual Studio 2012 và có các vấn đề sau khi so sánh và tạo ra một kịch bản update:Bao gồm tên hạn chế mặc định trong hệ cập nhật kịch bản

Trong Visual Studio, tôi thêm một cột với một hạn chế mặc định, ví dụ:

[NewColumn] NVARCHAR(50) CONSTRAINT [DF_ExistingTable_NewColumn] NOT NULL DEFAULT N'' 

Thật không may, tên của ràng buộc mặc định không xuất hiện khi:

  • So sánh (Schema So sánh) dự án của tôi với cơ sở dữ liệu thực tế
  • Tạo một kịch bản cập nhật (từ bên trong Schema So sánh)

Bản cập nhật kịch bản tạo ra có chứa đoạn mã sau (không có tên hạn chế):

ALTER TABLE [dbo].[ExistingTable] 
    ADD [NewColumn] NVARCHAR (50) DEFAULT N'' NOT NULL; 

Điều này có vẻ như một sự giám sát lớn, vì vậy tôi tự hỏi nên tìm công cụ chuyển đổi kỳ diệu bao gồm tên của ràng buộc mặc định trong tất cả các hoạt động cơ sở dữ liệu.

Trả lời

4

Tôi cho rằng thứ tự có thể bị tắt theo định nghĩa của bạn. Hãy thử di chuyển phần "NOT NULL" đến cuối dòng thay vì ở giữa định nghĩa ràng buộc của bạn.

[NewColumn] NVARCHAR(50) CONSTRAINT [DF_ExistingTable_NewColumn] DEFAULT N'' NOT NULL 
Các vấn đề liên quan