Beispiel #1
0
        public void ShouldRemoveDefaultExpressionWhenMergingRemoveDefaultConstraint(string columnName)
        {
            var columns = new Column[]
            {
                Column.Int("id", null, "description"),
                Column.VarChar("column", new CharacterLength(50), "collation", Nullable.Null, "default", "default constraint name", "description")
            };
            var op = new AddTableOperation("schema", "table", columns, false, "filegroup", "textimagefilegroup", "filestreamfilegroup", new string[0]);
            var addDefaultConstraintOp = new RemoveDefaultConstraintOperation("SCHEMA", "TABLE", columnName, "NAME");

            op.Merge(addDefaultConstraintOp);
            Assert.That(op.Disabled, Is.False);
            if (String.IsNullOrEmpty(columnName))
            {
                Assert.That(addDefaultConstraintOp.Disabled, Is.False);
                Assert.That(columns[0].DefaultExpression, Is.Null);
                Assert.That(columns[1].DefaultExpression, Is.EqualTo("default"));
            }
            else
            {
                Assert.That(addDefaultConstraintOp.Disabled, Is.True);
                Assert.That(columns[0].DefaultExpression, Is.Null);
                Assert.That(columns[1].DefaultExpression, Is.Null);
            }
        }
Beispiel #2
0
        public void ShouldDisableWhenMergedWithRemoveOperation()
        {
            var op       = new AddDefaultConstraintOperation("schema", "table", "name", "column", "expression", false);
            var removeOp = new RemoveDefaultConstraintOperation("SCHEMA", "TABLE", "COLUMN", "NAME");

            op.Merge(removeOp);
            Assert.That(op.Disabled, Is.True);
            Assert.That(removeOp.Disabled, Is.True);
        }
        public void ShouldWriteQueryForRemoveDefaultConstraint()
        {
            var schemaName     = "schemaName";
            var tableName      = "tableName";
            var constraintName = "columnName";

            var op            = new RemoveDefaultConstraintOperation(schemaName, tableName, "column", constraintName);
            var expectedQuery = string.Format("alter table [{0}].[{1}] drop constraint [{2}]", schemaName, tableName, constraintName);

            Assert.AreEqual(expectedQuery, op.ToQuery());
        }
        public void ShouldSetPropertiesForRemoveDefaultConstraint()
        {
            var schemaName = "schemaName";
            var tableName  = "tableName";
            var name       = "columnName";

            var op = new RemoveDefaultConstraintOperation(schemaName, tableName, "column", name);

            Assert.AreEqual(schemaName, op.SchemaName);
            Assert.AreEqual(tableName, op.TableName);
            Assert.That(op.Name, Is.EqualTo(name));
        }
        public void ShouldRemoveDefaultExpressionFromAddedColumnsAndDisableRemovedDefaultConstraint()
        {
            var columns = new Column[]
            {
                Column.Int("column1", Nullable.NotNull, null, null, null),
                Column.Int("column2", Nullable.NotNull, null, null, null),
            };
            var op = new UpdateTableOperation("schema", "tableName", columns, new Column[0], new string[0]);
            var removeDefaultConstraintOp = new RemoveDefaultConstraintOperation("SCHEMA", "TABLENAME", "COLUMN2", "name");

            op.Merge(removeDefaultConstraintOp);
            Assert.That(op.Disabled, Is.False);
            Assert.That(removeDefaultConstraintOp.Disabled, Is.True);
            Assert.That(op.AddColumns[1].DefaultExpression, Is.Null);
        }