public override void Generate( DropDefaultConstraintOperation dropDefaultConstraintOperation, IndentedStringBuilder stringBuilder) { // TODO: Rebuild table throw new NotImplementedException(); }
public override void Generate(DropDefaultConstraintOperation dropDefaultConstraintOperation, IndentedStringBuilder stringBuilder) { Check.NotNull(dropDefaultConstraintOperation, "dropDefaultConstraintOperation"); Check.NotNull(stringBuilder, "stringBuilder"); var constraintNameVariable = "@var" + _variableCount++; stringBuilder .Append("DECLARE ") .Append(constraintNameVariable) .AppendLine(" nvarchar(128)"); stringBuilder .Append("SELECT ") .Append(constraintNameVariable) .Append(" = name FROM sys.default_constraints WHERE parent_object_id = OBJECT_ID(N") .Append(DelimitLiteral(dropDefaultConstraintOperation.TableName)) .Append(") AND COL_NAME(parent_object_id, parent_column_id) = N") .AppendLine(DelimitLiteral(dropDefaultConstraintOperation.ColumnName)); stringBuilder .Append("EXECUTE('ALTER TABLE ") .Append(DelimitIdentifier(dropDefaultConstraintOperation.TableName)) .Append(" DROP CONSTRAINT \"' + ") .Append(constraintNameVariable) .Append(" + '\"')"); }
public void Create_and_initialize_operation() { var dropDefaultConstraintOperation = new DropDefaultConstraintOperation("dbo.MyTable", "Foo"); Assert.Equal("dbo.MyTable", dropDefaultConstraintOperation.TableName); Assert.Equal("Foo", dropDefaultConstraintOperation.ColumnName); Assert.False(dropDefaultConstraintOperation.IsDestructiveChange); }
public override void Visit(DropDefaultConstraintOperation operation, Context context) { Check.NotNull(operation, "operation"); Check.NotNull(context, "context"); var handler = context.EnsureHandler(operation.TableName, supported: false); handler.AddOperation(operation); }
public void Generate_when_drop_default_constraint_operation() { var operation = new DropDefaultConstraintOperation("dbo.MyTable", "Foo"); Assert.Equal( @"DropDefaultConstraint(""dbo.MyTable"", ""Foo"")", CSharpMigrationCodeGenerator.Generate(operation)); GenerateAndValidateCode(operation); }
public void Dispatches_visitor() { var dropDefaultConstraintOperation = new DropDefaultConstraintOperation("dbo.MyTable", "Foo"); var mockVisitor = new Mock <MigrationOperationSqlGenerator>(new RelationalTypeMapper()); var builder = new Mock <IndentedStringBuilder>(); dropDefaultConstraintOperation.GenerateSql(mockVisitor.Object, builder.Object); mockVisitor.Verify(g => g.Generate(dropDefaultConstraintOperation, builder.Object), Times.Once()); }
public void Dispatches_visitor() { var dropDefaultConstraintOperation = new DropDefaultConstraintOperation("dbo.MyTable", "Foo"); var mockVisitor = MigrationsTestHelpers.MockSqlGenerator(); var builder = new Mock <SqlBatchBuilder>(); dropDefaultConstraintOperation.GenerateSql(mockVisitor.Object, builder.Object); mockVisitor.Verify(g => g.Generate(dropDefaultConstraintOperation, builder.Object), Times.Once()); }
public virtual void Visit(DropDefaultConstraintOperation dropDefaultConstraintOperation, DatabaseModel databaseModel) { var table = databaseModel.GetTable(dropDefaultConstraintOperation.TableName); var column = table.GetColumn(dropDefaultConstraintOperation.ColumnName); Contract.Assert(column.HasDefault); column.DefaultValue = null; column.DefaultSql = null; }
public virtual void Generate([NotNull] DropDefaultConstraintOperation dropDefaultConstraintOperation, [NotNull] IndentedStringBuilder stringBuilder, bool generateIdempotentSql) { Check.NotNull(dropDefaultConstraintOperation, "dropDefaultConstraintOperation"); stringBuilder .Append("ALTER TABLE ") .Append(DelimitIdentifier(dropDefaultConstraintOperation.TableName)) .Append(" ALTER COLUMN ") .Append(DelimitIdentifier(dropDefaultConstraintOperation.ColumnName)) .Append(" DROP DEFAULT"); }
public override void Generate([NotNull] DropDefaultConstraintOperation dropDefaultConstraintOperation, [NotNull] IndentedStringBuilder stringBuilder) { Check.NotNull(dropDefaultConstraintOperation, "dropDefaultConstraintOperation"); Check.NotNull(stringBuilder, "stringBuilder"); stringBuilder .Append("DropDefaultConstraint(") .Append(GenerateLiteral(dropDefaultConstraintOperation.TableName)) .Append(", ") .Append(GenerateLiteral(dropDefaultConstraintOperation.ColumnName)) .Append(")"); }
public virtual void Generate([NotNull] DropDefaultConstraintOperation dropDefaultConstraintOperation, [NotNull] SqlBatchBuilder batchBuilder) { Check.NotNull(dropDefaultConstraintOperation, "dropDefaultConstraintOperation"); Check.NotNull(batchBuilder, "batchBuilder"); batchBuilder .Append("ALTER TABLE ") .Append(DelimitIdentifier(dropDefaultConstraintOperation.TableName)) .Append(" ALTER COLUMN ") .Append(DelimitIdentifier(dropDefaultConstraintOperation.ColumnName)) .Append(" DROP DEFAULT"); }
public override void Visit(DropDefaultConstraintOperation dropDefaultConstraintOperation, DatabaseModel databaseModel) { Check.NotNull(dropDefaultConstraintOperation, "dropDefaultConstraintOperation"); Check.NotNull(databaseModel, "databaseModel"); var table = databaseModel.GetTable(dropDefaultConstraintOperation.TableName); var column = table.GetColumn(dropDefaultConstraintOperation.ColumnName); Contract.Assert(column.HasDefault); column.DefaultValue = null; column.DefaultSql = null; }
public void Visit_with_drop_default_constraint_operation() { var model = new DatabaseModel(); var column = new Column("Foo", typeof(int)) { DefaultValue = 5, DefaultSql = "Sql" }; var table = new Table("dbo.MyTable", new[] { column }); var operation = new DropDefaultConstraintOperation("dbo.MyTable", "Foo"); model.AddTable(table); Assert.True(column.HasDefault); operation.Accept(new DatabaseModelModifier(), model); Assert.False(column.HasDefault); }
public override void Generate(DropDefaultConstraintOperation dropDefaultConstraintOperation, IndentedStringBuilder stringBuilder, bool generateIdempotentSql) { Check.NotNull(dropDefaultConstraintOperation, "dropDefaultConstraintOperation"); Check.NotNull(stringBuilder, "stringBuilder"); var constraintNameVariable = "@var" + _variableCount++; stringBuilder .Append("DECLARE ") .Append(constraintNameVariable) .AppendLine(" nvarchar(128)"); stringBuilder .Append("SELECT ") .Append(constraintNameVariable) .Append(" = name FROM sys.default_constraints WHERE parent_object_id = OBJECT_ID(N") .Append(DelimitLiteral(dropDefaultConstraintOperation.TableName)) .Append(") AND COL_NAME(parent_object_id, parent_column_id) = N") .AppendLine(DelimitLiteral(dropDefaultConstraintOperation.ColumnName)); if (generateIdempotentSql) { stringBuilder .Append("IF ") .Append(constraintNameVariable) .AppendLine(" IS NOT NULL"); using (stringBuilder.Indent()) { GenerateExecuteDropConstraint(dropDefaultConstraintOperation.TableName, constraintNameVariable, stringBuilder); } } else { GenerateExecuteDropConstraint(dropDefaultConstraintOperation.TableName, constraintNameVariable, stringBuilder); } }
public abstract void Generate([NotNull] DropDefaultConstraintOperation dropDefaultConstraintOperation, [NotNull] IndentedStringBuilder stringBuilder);