Я также столкнулся с этой потребностью в моем проекте базы данных. Решил поделиться своими находками здесь.
1) Невозможно создать поле NOT NULL без значения по умолчанию, когда данные уже существуют ( Могу ли я добавить ненулевой столбец без значения DEFAULT )
2) К этой теме обращались давно. Вот вопрос 2008 года ( добавьте столбец со значением по умолчанию в существующую таблицу в SQL Server )
3) Ограничение DEFAULT используется для предоставления значения по умолчанию для столбца. Значение по умолчанию будет добавлено ко всем новым записям, ЕСЛИ не указано другое значение. ( https://www.w3schools.com/sql/sql_default.asp )
4) Проект базы данных Visual Studio, который я использую для разработки, действительно хорош в создании сценариев изменений для вас. Это сценарий изменения, созданный для продвижения моей БД:
GO
PRINT N'Altering [dbo].[PROD_WHSE_ACTUAL]...';
GO
ALTER TABLE [dbo].[PROD_WHSE_ACTUAL]
ADD [DATE] DATE DEFAULT getdate() NOT NULL;
-
Вот шаги, которые я предпринял, чтобы обновить свою базу данных с помощью Visual Studio для разработки.
1) Добавьте значение по умолчанию (Visual Studio SSDT: DB Project: конструктор таблиц)
2) Используйте инструмент сравнения схем для создания сценария изменения.
code already provided above
3) Просмотрите данные ПЕРЕД применением изменения.
4) Просмотрите данные ПОСЛЕ применения изменения.