Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        /// <inheritdoc />
        public IDeleteDefaultConstraintOnTableSyntax DefaultConstraint()
        {
            var expression = new DeleteDefaultConstraintExpression();

            _context.Expressions.Add(expression);
            return(new DeleteDefaultConstraintExpressionBuilder(expression));
        }
Exemplo n.º 3
0
        public IDeleteDefaultConstraintOnTableSyntax DefaultConstraint()
        {
            var expression = new DeleteDefaultConstraintExpression(_context.CurrentDatabaseProvider, _databaseProviders, _sqlSyntax);

            _context.Expressions.Add(expression);
            return(new DeleteDefaultConstraintBuilder(expression));
        }
Exemplo n.º 4
0
 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)));
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 9
0
 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);
        }
Exemplo n.º 12
0
 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"));
        }
Exemplo n.º 14
0
 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"));
        }
Exemplo n.º 18
0
        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);
        }
Exemplo n.º 22
0
        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");
        }
Exemplo n.º 23
0
        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;");
        }
Exemplo n.º 25
0
        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)");
        }
Exemplo n.º 27
0
        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));
        }
Exemplo n.º 28
0
        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);
        }
Exemplo n.º 30
0
 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)));
 }
Exemplo n.º 31
0
 public override string Generate(DeleteDefaultConstraintExpression expression)
 {
     return compatabilityMode.HandleCompatabilty("Default constraints are not supported");
 }