También me he encontrado con esta necesidad para mi proyecto de base de datos. Decidí compartir mis hallazgos aquí.
1) No hay forma de un campo NOT NULL sin un valor predeterminado cuando los datos ya existen ( ¿Puedo agregar una columna no nula sin el valor DEFAULT? )
2) Este tema se ha abordado durante mucho tiempo. Aquí hay una pregunta de 2008 ( agregue una columna con un valor predeterminado a una tabla existente en SQL Server )
3) La restricción DEFAULT se utiliza para proporcionar un valor predeterminado para una columna. El valor predeterminado se agregará a todos los registros nuevos SI no se especifica ningún otro valor. ( https://www.w3schools.com/sql/sql_default.asp )
4) El Proyecto de base de datos de Visual Studio que utilizo para el desarrollo es realmente bueno para generar scripts de cambio para usted. Este es el script de cambio creado para mi promoción de base de datos:
GO
PRINT N'Altering [dbo].[PROD_WHSE_ACTUAL]...';
GO
ALTER TABLE [dbo].[PROD_WHSE_ACTUAL]
ADD [DATE] DATE DEFAULT getdate() NOT NULL;
-
Estos son los pasos que tomé para actualizar mi base de datos usando Visual Studio para el desarrollo.
1) Agregar valor predeterminado (Visual Studio SSDT: DB Project: diseñador de tablas)
2) Utilice la herramienta de comparación de esquemas para generar el script de cambio.
code already provided above
3) Vea los datos ANTES de aplicar el cambio.
4) Vea los datos DESPUÉS de aplicar el cambio.