В моем проекте .sqlproj у меня есть несколько таблиц базы данных SQL, в которых есть столбцы с ограничениями по умолчанию, такие как:
CREATE TABLE TableName
(
-- Some other columns defined too
[State] TINYINT NOT NULL DEFAULT (0),
)
При запуске SSDT схема сравнивает проекта сВ производственной базе данных происходит следующее.Сообщается, что некоторые таблицы, подобные приведенной выше, не имеют различий, а одна из них имеет следующие различия:
Инструмент сравнения говорит, что проект имеет это (и это верно, и это также верно для всех других таблиц):
-- Single braces around zero
[State] TINYINT DEFAULT (0) NOT NULL
но в базе данных есть это:
-- Double braces around zero
[State] TINYINT DEFAULT ((0)) NOT NULL
Это раздражает, потому что вызывает много бесполезных изменений, о которых сообщают.Это еще более раздражает, потому что у меня есть что-то вроде десяти таблиц с таким определением столбца, но о различиях сообщается только для одной таблицы.
Я попытался открыть SSMS и щелкнуть правой кнопкой мыши по таблице в рабочей базе данных и Таблица сценариев имеет вид , CREATE To new window , и в сценарии создания появляется следующая строка:
ALTER TABLE [dbo].[TableName]
ADD DEFAULT ((0)) FOR [State]
, и для всех таблиц создается одно и то же, норазница указывается только для одной таблицы в сравнении.
Как мне это исправить?Как мне узнать, почему эта таблица особая , а разница сообщается только для этой таблицы?