protected virtual void Generate([NotNull] DropUniqueConstraintOperation operation, [NotNull] IndentedStringBuilder builder) { Check.NotNull(operation, nameof(operation)); Check.NotNull(builder, nameof(builder)); builder .Append(".DropUniqueConstraint(name: ") .Append(_code.Literal(operation.Name)); if (operation.Schema != null) { builder .Append(", schema: ") .Append(_code.Literal(operation.Schema)); } builder .Append(", table: ") .Append(_code.Literal(operation.Table)) .Append(")"); using (builder.Indent()) { Annotations(operation.Annotations, builder); } }
public void Dispatches_visitor() { var operation = new DropUniqueConstraintOperation("dbo.MyTable", "MyUC"); var sqlGeneratorMock = new Mock <MigrationOperationSqlGenerator>(new RelationalTypeMapper()); var builder = new IndentedStringBuilder(); operation.GenerateSql(sqlGeneratorMock.Object, builder); sqlGeneratorMock.Verify(g => g.Generate(operation, builder), Times.Once()); var codeGeneratorMock = new Mock <MigrationCodeGenerator>(new Mock <ModelCodeGenerator>().Object); builder = new IndentedStringBuilder(); operation.GenerateCode(codeGeneratorMock.Object, builder); codeGeneratorMock.Verify(g => g.Generate(operation, builder), Times.Once()); var visitorMock = new Mock <MigrationOperationVisitor <object> >(); var context = new object(); operation.Accept(visitorMock.Object, context); visitorMock.Verify(v => v.Visit(operation, context), Times.Once()); }
/// <inheritdoc /> protected override void Generate(DropUniqueConstraintOperation operation, IModel model, MigrationCommandListBuilder builder) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } if (operation.IfNotExistsCheckRequired()) { throw new InvalidOperationException($"The check '{nameof(SqlServerOperationBuilderExtensions.IfNotExists)}()' is not allowed with '{operation.GetType().Name}'"); } if (!operation.IfExistsCheckRequired()) { base.Generate(operation, model, builder); return; } builder.AppendLine($"IF(OBJECT_ID('{DelimitIdentifier(operation.Name)}') IS NOT NULL)") .AppendLine("BEGIN"); _closeScopeBeforeEndingStatement = true; builder.IncrementIndent(); base.Generate(operation, model, builder); }
public void Create_and_initialize_operation() { var operation = new DropUniqueConstraintOperation("dbo.MyTable", "MyUC"); Assert.Equal("dbo.MyTable", operation.TableName); Assert.Equal("MyUC", operation.UniqueConstraintName); Assert.True(operation.IsDestructiveChange); }
public override void Visit(DropUniqueConstraintOperation dropUniqueConstraintOperation, DatabaseModel databaseModel) { Check.NotNull(dropUniqueConstraintOperation, "dropUniqueConstraintOperation"); Check.NotNull(databaseModel, "databaseModel"); var table = databaseModel.GetTable(dropUniqueConstraintOperation.TableName); table.RemoveUniqueConstraint(dropUniqueConstraintOperation.UniqueConstraintName); }
public void Generate_when_drop_unique_constraint_operation() { var operation = new DropUniqueConstraintOperation("dbo.MyTable", "MyUC"); Assert.Equal( @"DropUniqueConstraint(""dbo.MyTable"", ""MyUC"")", CSharpMigrationCodeGenerator.Generate(operation)); GenerateAndValidateCode(operation); }
public virtual void Generate([NotNull] DropUniqueConstraintOperation dropUniqueConstraintOperation, [NotNull] SqlBatchBuilder batchBuilder) { Check.NotNull(dropUniqueConstraintOperation, "dropUniqueConstraintOperation"); Check.NotNull(batchBuilder, "batchBuilder"); batchBuilder .Append("ALTER TABLE ") .Append(DelimitIdentifier(dropUniqueConstraintOperation.TableName)) .Append(" DROP CONSTRAINT ") .Append(DelimitIdentifier(dropUniqueConstraintOperation.UniqueConstraintName)); }
public async Task DropUniqueConstraint() { var operation = new DropUniqueConstraintOperation() { Table = "People", Name = "UNQ_People_Foo", }; var batch = await Generate(new[] { operation }); Assert.AreEqual(1, batch.Count()); Assert.AreEqual(NewLineEnd(@"ALTER TABLE ""People"" DROP CONSTRAINT ""UNQ_People_Foo"";"), batch[0].CommandText); }
public override void Generate(DropUniqueConstraintOperation dropUniqueConstraintOperation, IndentedStringBuilder stringBuilder) { Check.NotNull(dropUniqueConstraintOperation, "dropUniqueConstraintOperation"); Check.NotNull(stringBuilder, "stringBuilder"); stringBuilder .Append("DropUniqueConstraint(") .Append(GenerateLiteral(dropUniqueConstraintOperation.TableName)) .Append(", ") .Append(GenerateLiteral(dropUniqueConstraintOperation.UniqueConstraintName)) .Append(")"); }
public virtual void Generate( [NotNull] DropUniqueConstraintOperation operation, [CanBeNull] IModel model, [NotNull] SqlBatchBuilder builder) { Check.NotNull(operation, nameof(operation)); Check.NotNull(builder, nameof(builder)); builder .Append("ALTER TABLE ") .Append(_sql.DelimitIdentifier(operation.Table, operation.Schema)) .Append(" DROP CONSTRAINT ") .Append(_sql.DelimitIdentifier(operation.Name)); }
/// <summary> /// 删除唯一键。 /// </summary> /// <typeparam name="TEntity">实体类型。</typeparam> /// <param name="columns">列表达式。</param> /// <returns>返回迁移实例。</returns> public virtual OperationBuilder <DropUniqueConstraintOperation> DropUniqueConstraint <TEntity>(Expression <Func <TEntity, object> > columns) { Check.NotNull(columns, nameof(columns)); var operation = new DropUniqueConstraintOperation { Table = typeof(TEntity).GetTableName() }; operation.Name = OperationHelper.GetName(NameType.UniqueKey, operation.Table, columns.GetPropertyNames()); Operations.Add(operation); return(new OperationBuilder <DropUniqueConstraintOperation>(operation)); }
/// <summary> /// 删除唯一键。 /// </summary> /// <typeparam name="TEntity">实体类型。</typeparam> /// <param name="name">名称(全名包含UK_)。</param> /// <returns>返回迁移实例。</returns> public virtual OperationBuilder <DropUniqueConstraintOperation> DropUniqueConstraint <TEntity>(string name) { Check.NotNull(name, nameof(name)); var operation = new DropUniqueConstraintOperation { Table = typeof(TEntity).GetTableName(), Name = name }; Operations.Add(operation); return(new OperationBuilder <DropUniqueConstraintOperation>(operation)); }
protected virtual void Generate( [NotNull] DropUniqueConstraintOperation operation, [CanBeNull] IModel model, [NotNull] RelationalCommandListBuilder builder) { Check.NotNull(operation, nameof(operation)); Check.NotNull(builder, nameof(builder)); builder .Append("ALTER TABLE ") .Append(SqlGenerator.DelimitIdentifier(operation.Table, operation.Schema)) .Append(" DROP CONSTRAINT ") .Append(SqlGenerator.DelimitIdentifier(operation.Name)); }
/// <summary> /// 删除唯一键。 /// </summary> /// <param name="operation">操作实例。</param> /// <param name="builder"><see cref="MigrationCommandListBuilder"/>实例对象。</param> protected virtual void Generate( DropUniqueConstraintOperation operation, MigrationCommandListBuilder builder) { Check.NotNull(operation, nameof(operation)); Check.NotNull(builder, nameof(builder)); builder .Append("ALTER TABLE ") .Append(operation.Table) .Append(" DROP CONSTRAINT ") .Append(operation.Name) .AppendLine(SqlHelper.StatementTerminator); EndStatement(builder); }
public virtual OperationBuilder <DropUniqueConstraintOperation> DropUniqueConstraint(string name, string table, string schema = null) { Check.NotEmpty(name, nameof(name)); Check.NotEmpty(table, nameof(table)); var operation = new DropUniqueConstraintOperation { Schema = schema, Table = table, Name = name }; Operations.Add(operation); return(new OperationBuilder <DropUniqueConstraintOperation>(operation)); }
protected virtual void Generate( [NotNull] DropUniqueConstraintOperation operation, [CanBeNull] IModel model, [NotNull] MigrationCommandListBuilder builder) { Check.NotNull(operation, nameof(operation)); Check.NotNull(builder, nameof(builder)); builder .Append("ALTER TABLE ") .Append(Dependencies.SqlGenerationHelper.DelimitIdentifier(operation.Table, operation.Schema)) .Append(" DROP CONSTRAINT ") .Append(Dependencies.SqlGenerationHelper.DelimitIdentifier(operation.Name)) .AppendLine(Dependencies.SqlGenerationHelper.StatementTerminator); EndStatement(builder); }
public void Visit_with_drop_unique_constraint_operation() { var model = new DatabaseModel(); var column = new Column("Foo", typeof(int)); var table = new Table("dbo.MyTable", new[] { column }); table.AddUniqueConstraint(new UniqueConstraint("UC", new[] { column })); var operation = new DropUniqueConstraintOperation("dbo.MyTable", "UC"); model.AddTable(table); Assert.Equal(1, table.UniqueConstraints.Count); operation.Accept(new DatabaseModelModifier(), model); Assert.Equal(0, table.UniqueConstraints.Count); }
protected override void Generate(DropUniqueConstraintOperation operation, IModel model, MigrationCommandListBuilder builder) { throw new NotSupportedException(SqliteStrings.InvalidMigrationOperation(operation.GetType().ShortDisplayName())); }
public abstract void Generate([NotNull] DropUniqueConstraintOperation dropUniqueConstraintOperation, [NotNull] IndentedStringBuilder stringBuilder);
protected override void Generate(DropUniqueConstraintOperation operation, IModel model, MigrationCommandListBuilder builder) => base.Generate(operation, model, builder);
protected override void Generate(DropUniqueConstraintOperation operation, IModel model, SqlBatchBuilder builder) { throw new NotSupportedException(Strings.InvalidMigrationOperation); }
protected override void Generate(DropUniqueConstraintOperation operation, IModel model, RelationalCommandListBuilder builder) { throw new NotSupportedException(SqliteStrings.InvalidMigrationOperation); }