From e234d86f927667ee8603b8cbba43cfd3669a2bb3 Mon Sep 17 00:00:00 2001 From: Shay Rojansky Date: Mon, 1 Mar 2021 20:06:42 +0100 Subject: [PATCH] Quirk for #24272 --- .../Migrations/SqlServerMigrationsSqlGenerator.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/EFCore.SqlServer/Migrations/SqlServerMigrationsSqlGenerator.cs b/src/EFCore.SqlServer/Migrations/SqlServerMigrationsSqlGenerator.cs index 06f084f7d3c..0d1299d90a3 100644 --- a/src/EFCore.SqlServer/Migrations/SqlServerMigrationsSqlGenerator.cs +++ b/src/EFCore.SqlServer/Migrations/SqlServerMigrationsSqlGenerator.cs @@ -38,6 +38,9 @@ public class SqlServerMigrationsSqlGenerator : MigrationsSqlGenerator private IReadOnlyList _operations; private int _variableCounter; + private static readonly bool _useOldAlterColumnDefaultValueLogic = + AppContext.TryGetSwitch("Microsoft.EntityFrameworkCore.Issue24272", out var enabled) && enabled; + /// /// Creates a new instance. /// @@ -391,7 +394,11 @@ protected override void Generate(AddCheckConstraintOperation operation, IModel m builder.AppendLine(Dependencies.SqlGenerationHelper.StatementTerminator); } - if (!Equals(operation.DefaultValue, oldDefaultValue) || operation.DefaultValueSql != oldDefaultValueSql) + var addDefaultValue = _useOldAlterColumnDefaultValueLogic + ? operation.DefaultValue != null || operation.DefaultValueSql != null + : !Equals(operation.DefaultValue, oldDefaultValue) || operation.DefaultValueSql != oldDefaultValueSql; + + if (addDefaultValue) { builder .Append("ALTER TABLE ")