public void CanDropDefaultExpression() { var expression = new DeleteDefaultConstraintExpression { ColumnName = "Name", SchemaName = "Personalia", TableName = "Person" }; string expected = "DECLARE @default sysname, @sql nvarchar(max);" + Environment.NewLine + Environment.NewLine + "-- get name of default constraint" + Environment.NewLine + "SELECT @default = name" + Environment.NewLine + "FROM sys.default_constraints" + Environment.NewLine + "WHERE parent_object_id = object_id('[Personalia].[Person]')" + Environment.NewLine + "AND type = 'D'" + Environment.NewLine + "AND parent_column_id = (" + Environment.NewLine + "SELECT column_id" + Environment.NewLine + "FROM sys.columns" + Environment.NewLine + "WHERE object_id = object_id('[Personalia].[Person]')" + Environment.NewLine + "AND name = 'Name'" + Environment.NewLine + ");" + Environment.NewLine + Environment.NewLine + "-- create alter table command to drop constraint as string and run it" + Environment.NewLine + "SET @sql = N'ALTER TABLE [Personalia].[Person] DROP CONSTRAINT ' + QUOTENAME(@default);" + Environment.NewLine + "EXEC sp_executesql @sql;"; var result = Generator.Generate(expression); result.ShouldBe(expected); }
/// <inheritdoc /> public IDeleteDefaultConstraintOnTableSyntax DefaultConstraint() { var expression = new DeleteDefaultConstraintExpression(); _context.Expressions.Add(expression); return(new DeleteDefaultConstraintExpressionBuilder(expression)); }
public IDeleteDefaultConstraintOnTableSyntax DefaultConstraint() { var expression = new DeleteDefaultConstraintExpression(_context.CurrentDatabaseProvider, _databaseProviders, _sqlSyntax); _context.Expressions.Add(expression); return(new DeleteDefaultConstraintBuilder(expression)); }
public override void Process(DeleteDefaultConstraintExpression expression) { Truncator.Truncate(expression); CheckColumn(expression.TableName, expression.ColumnName); LockColumn(expression.TableName, expression.ColumnName); InternalProcess(Generator.Generate(expression)); }
public override string Generate(DeleteDefaultConstraintExpression expression) { string sql = "ALTER TABLE {0} ALTER {1} DROP DEFAULT"; string schemaAndTable = Quoter.QuoteTableName(expression.TableName, expression.SchemaName); return(String.Format(sql, schemaAndTable, Quoter.QuoteColumnName(expression.ColumnName))); }
public void GenerateNecessaryStatementsForADeleteDefaultExpressionIsThrowsException() { var expression = new DeleteDefaultConstraintExpression { ColumnName = "Name", SchemaName = "Personalia", TableName = "Person" }; Assert.Throws <DatabaseOperationNotSupportedException>(() => Generator.Generate(expression)); }
public void ToStringIsDescriptive() { var expression = new DeleteDefaultConstraintExpression { SchemaName = "ThaSchema", TableName = "ThaTable", ColumnName = "ThaColumn" }; expression.ToString().ShouldBe("DeleteDefaultConstraint ThaSchema.ThaTable ThaColumn"); }
public void GenerateNecessaryStatementsForADeleteDefaultExpressionIsThrowsException() { var expression = new DeleteDefaultConstraintExpression { ColumnName = "Name", SchemaName = "Personalia", TableName = "Person" }; generator.Generate(expression); }
public override string Generate(DeleteDefaultConstraintExpression expression) { Truncator.Truncate(expression); return(String.Format("ALTER TABLE {0} ALTER COLUMN {1} DROP DEFAULT", Quoter.QuoteTableName(expression.TableName), Quoter.QuoteColumnName(expression.ColumnName) )); }
public void WhenDefaultSchemaConventionIsAppliedAndSchemaIsSetThenSchemaShouldNotBeChanged() { var expression = new DeleteDefaultConstraintExpression { SchemaName = "testschema", TableName = "ThaTable", ColumnName = "ThaColumn" }; expression.ApplyConventions(new MigrationConventions()); Assert.That(expression.SchemaName, Is.EqualTo("testschema")); }
public void WhenDefaultSchemaConventionIsAppliedAndSchemaIsNotSetThenSchemaShouldBeNull() { var expression = new DeleteDefaultConstraintExpression { TableName = "ThaTable", ColumnName = "ThaColumn" }; expression.ApplyConventions(new MigrationConventions()); Assert.That(expression.SchemaName, Is.Null); }
public override string Generate(DeleteDefaultConstraintExpression expression) { // Available since MySQL 4.0.22 (2005) return(string.Format( "ALTER TABLE {0} ALTER {1} DROP DEFAULT", Quoter.QuoteTableName(expression.TableName), Quoter.QuoteColumnName(expression.ColumnName))); }
public void WhenDefaultSchemaConventionIsChangedAndSchemaIsNotSetThenSetSchema() { var expression = new DeleteDefaultConstraintExpression { TableName = "ThaTable", ColumnName = "ThaColumn" }; var migrationConventions = new MigrationConventions { GetDefaultSchema = () => "testdefault" }; expression.ApplyConventions(migrationConventions); Assert.That(expression.SchemaName, Is.EqualTo("testdefault")); }
public override string Generate(DeleteDefaultConstraintExpression expression) { return(Generate(new AlterDefaultConstraintExpression { TableName = expression.TableName, ColumnName = expression.ColumnName, DefaultValue = null })); }
public void CollectValidationErrorsShouldReturnErrorIfTableNameIsNull() { var expression = new DeleteDefaultConstraintExpression { TableName = null }; var errors = ValidationHelper.CollectErrors(expression); errors.ShouldContain(ErrorMessages.TableNameCannotBeNullOrEmpty); }
public void CollectValidationErrorsShouldReturnErrorIfColumnNameIsEmpty() { var expression = new DeleteDefaultConstraintExpression { ColumnName = string.Empty }; var errors = ValidationHelper.CollectErrors(expression); errors.ShouldContain(ErrorMessages.ColumnNameCannotBeNullOrEmpty); }
public void WhenDefaultSchemaConventionIsAppliedAndSchemaIsSetThenSchemaShouldNotBeChanged() { var expression = new DeleteDefaultConstraintExpression { SchemaName = "testschema", TableName = "ThaTable", ColumnName = "ThaColumn" }; var processed = expression.Apply(ConventionSets.WithSchemaName); Assert.That(processed.SchemaName, Is.EqualTo("testschema")); }
public static DeleteDefaultConstraintExpression GetDeleteDefaultConstraintExpression() { var expression = new DeleteDefaultConstraintExpression { ColumnName = TestColumnName1, TableName = TestTableName1 }; return(expression); }
public void WhenDefaultSchemaConventionIsChangedAndSchemaIsNotSetThenSetSchema() { var expression = new DeleteDefaultConstraintExpression { TableName = "ThaTable", ColumnName = "ThaColumn" }; var processed = expression.Apply(ConventionSets.WithSchemaName); Assert.That(processed.SchemaName, Is.EqualTo("testdefault")); }
public void ExecuteWithShouldDelegateProcessOnMigrationProcessor() { var expression = new DeleteDefaultConstraintExpression(); var processorMock = new Mock<IMigrationProcessor>(MockBehavior.Strict); processorMock.Setup(p => p.Process(expression)).Verifiable(); expression.ExecuteWith(processorMock.Object); processorMock.VerifyAll(); }
public void WhenDefaultSchemaConventionIsAppliedAndSchemaIsNotSetThenSchemaShouldBeNull() { var expression = new DeleteDefaultConstraintExpression { TableName = "ThaTable", ColumnName = "ThaColumn" }; var processed = expression.Apply(ConventionSets.NoSchemaName); Assert.That(processed.SchemaName, Is.Null); }
public void CanDeleteDefaultConstraint() { var expression = new DeleteDefaultConstraintExpression { ColumnName = "TestColumn1", TableName = "TestTable1" }; var result = Generator.Generate(expression); result.ShouldBe("ALTER TABLE `TestTable1` ALTER `TestColumn1` DROP DEFAULT"); }
public void CanDeleteDefaultConstraint() { var expression = new DeleteDefaultConstraintExpression { ColumnName = "Col1", SchemaName = "Schema1", TableName = "Table1" }; var sql = generator.Generate(expression); sql.ShouldBe("ALTER TABLE \"Schema1\".\"Table1\" ALTER \"Col1\" DROP DEFAULT"); }
public void CanDeleteDefaultConstraint() { var expression = new DeleteDefaultConstraintExpression { ColumnName = "TestColumn1", SchemaName = "TestSchema", TableName = "TestTable1" }; var result = _generator.Generate(expression); result.ShouldBe("ALTER TABLE \"TestSchema\".\"TestTable1\" ALTER \"TestColumn1\" DROP DEFAULT;"); }
public void CanDeleteDefaultConstraint() { var expression = new DeleteDefaultConstraintExpression { ColumnName = "TestColumn1", SchemaName = "TestSchema", TableName = "TestTable1" }; var result = Generator.Generate(expression); result.ShouldBe("ALTER TABLE TestSchema.TestTable1 ALTER COLUMN TestColumn1 DROP DEFAULT"); }
public void CanDeleteDefaultConstraint() { Assert.Ignore("Hana support change default value with type like bellow"); var expression = new DeleteDefaultConstraintExpression { ColumnName = "TestColumn1", SchemaName = "TestSchema", TableName = "TestTable1" }; var result = Generator.Generate(expression); result.ShouldBe("ALTER TABLE \"TestTable1\" ALTER (\"TestColumn1\" NVARCHAR(255) DEFAULT NULL)"); }
public override string Generate(DeleteDefaultConstraintExpression expression) { string sql = "DECLARE @default sysname, @sql nvarchar(4000);" + Environment.NewLine + Environment.NewLine + "-- get name of default constraint" + Environment.NewLine + "SELECT @default = name" + Environment.NewLine + "FROM sys.default_constraints" + Environment.NewLine + "WHERE parent_object_id = object_id('{0}')" + Environment.NewLine + "AND type = 'D'" + Environment.NewLine + "AND parent_column_id = (" + Environment.NewLine + "SELECT column_id" + Environment.NewLine + "FROM sys.columns" + Environment.NewLine + "WHERE object_id = object_id('{0}')" + Environment.NewLine + "AND name = '{1}'" + Environment.NewLine + ");" + Environment.NewLine + Environment.NewLine + "-- create alter table command to drop constraint as string and run it" + Environment.NewLine + "SET @sql = N'ALTER TABLE {0} DROP CONSTRAINT ' + @default;" + Environment.NewLine + "EXEC sp_executesql @sql;"; return(String.Format(sql, Quoter.QuoteTableName(expression.TableName), expression.ColumnName)); }
public override string Generate(DeleteDefaultConstraintExpression expression) { const string sql = "DECLARE @default sysname, @sql nvarchar(max);\r\n\r\n" + "-- get name of default constraint\r\n" + "SELECT @default = name\r\n" + "FROM sys.default_constraints\r\n" + "WHERE parent_object_id = object_id('{2}.{0}')\r\n" + "" + "AND type = 'D'\r\n" + "" + "AND parent_column_id = (\r\n" + "" + "SELECT column_id\r\n" + "FROM sys.columns\r\n" + "WHERE object_id = object_id('{2}.{0}')\r\n" + "AND name = '{1}'\r\n" + ");\r\n\r\n" + "-- create alter table command to drop contraint as string and run it\r\n" + "SET @sql = N'ALTER TABLE {2}.{0} DROP CONSTRAINT ' + @default;\r\n" + "EXEC sp_executesql @sql;"; return(String.Format(sql, Quoter.QuoteTableName(expression.TableName), expression.ColumnName, Quoter.QuoteSchemaName(expression.SchemaName))); }
public void CanGenerateNecessaryStatementsForADeleteDefaultExpression() { var expression = new DeleteDefaultConstraintExpression { ColumnName = "Name", SchemaName = "Personalia", TableName = "Person" }; const string expected = "DECLARE @default sysname, @sql nvarchar(max);\r\n\r\n" + "-- get name of default constraint\r\n" + "SELECT @default = name\r\n" + "FROM sys.default_constraints\r\n" + "WHERE parent_object_id = object_id('[Personalia].[Person]')\r\n" + "" + "AND type = 'D'\r\n" + "" + "AND parent_column_id = (\r\n" + "" + "SELECT column_id\r\n" + "FROM sys.columns\r\n" + "WHERE object_id = object_id('[Personalia].[Person]')\r\n" + "AND name = 'Name'\r\n" + ");\r\n\r\n" + "-- create alter table command to drop contraint as string and run it\r\n" + "SET @sql = N'ALTER TABLE [Personalia].[Person] DROP CONSTRAINT ' + @default;\r\n" + "EXEC sp_executesql @sql;"; generator.Generate(expression).ShouldBe(expected); }
public override string Generate(DeleteDefaultConstraintExpression expression) { return(string.Format("ALTER TABLE {0} ALTER {1} DROP DEFAULT;", Quoter.QuoteTableName(expression.TableName, expression.SchemaName), Quoter.Quote(expression.ColumnName))); }
public override string Generate(DeleteDefaultConstraintExpression expression) { return compatabilityMode.HandleCompatabilty("Default constraints are not supported"); }