private void GivenSchemaPropertyValue(string value)
        {
            var schemaName = Guid.NewGuid().ToString();
            var name       = Guid.NewGuid().ToString();

            _op = new AddExtendedPropertyOperation(schemaName, name, value);
        }
        public void ShouldDisableOperationWhenItsColumnIsRemoved()
        {
            var op            = new AddExtendedPropertyOperation("schema", "table", "column", "name", "value", false);
            var updateTableOp = new UpdateTableOperation("SCHEMA", "TABLE", new Column[0], new Column[0], new[] { "COLUMN" });

            op.Merge(updateTableOp);
            Assert.That(op.Disabled, Is.True);
            Assert.That(updateTableOp.Disabled, Is.False);
        }
        public void ShouldNotDisableOperationWhenItsIsForAViewAndATableWithTheSameNameIsRemoved()
        {
            var op            = new AddExtendedPropertyOperation("schema", "view", "name", "value", true);
            var removeTableOp = new RemoveTableOperation("SCHEMA", "VIEW");

            op.Merge(removeTableOp);
            Assert.That(op.Disabled, Is.False);
            Assert.That(removeTableOp.Disabled, Is.False);
        }
        public void ShouldDisableAddSchemaPropertyIfRemovedByMerge()
        {
            var op       = new AddExtendedPropertyOperation("schema", "name", "value");
            var removeOp = new RemoveExtendedPropertyOperation("SCHEMA", "NAME");

            op.Merge(removeOp);
            Assert.That(op.Disabled, Is.True);
            Assert.That(removeOp.Disabled, Is.True);
        }
        private void GivenViewPropertyValue()
        {
            var schemaName = Guid.NewGuid().ToString();
            var viewName   = Guid.NewGuid().ToString();
            var name       = Guid.NewGuid().ToString();
            var value      = Guid.NewGuid().ToString();

            _op = new AddExtendedPropertyOperation(schemaName, viewName, name, value, true);
        }
        public void ShouldDisableTableColumnPropertyIfTableRemovedByMerge()
        {
            var op       = new AddExtendedPropertyOperation("schema", "table", "column", "name", "value", false);
            var removeOp = new RemoveTableOperation("SCHEMA", "TABLE");

            op.Merge(removeOp);
            Assert.That(op.Disabled, Is.True);
            Assert.That(removeOp.Disabled, Is.False);
        }
        public void ShouldNotDisableOperationWhenItIsForATableAndAViewWithTheSameNameIsRemoved()
        {
            var op           = new AddExtendedPropertyOperation("schema", "table", "name", "value", false);
            var removeViewOp = new RemoveViewOperation("SCHEMA", "TABLE");

            op.Merge(removeViewOp);
            Assert.That(op.Disabled, Is.False);
            Assert.That(removeViewOp.Disabled, Is.False);
        }
        private void GivenTablePropertyValue()
        {
            var schemaName = Guid.NewGuid().ToString();
            var tableName  = Guid.NewGuid().ToString();
            var name       = Guid.NewGuid().ToString();
            var value      = Guid.NewGuid().ToString();

            _op = new AddExtendedPropertyOperation(schemaName, tableName, name, value, false);
        }
        public void ShouldDisableViewColumnPropertyIfViewRemovedByMerge()
        {
            var op       = new AddExtendedPropertyOperation("schema", "view", "column", "name", "value", true);
            var removeOp = new RemoveViewOperation("SCHEMA", "VIEW");

            op.Merge(removeOp);
            Assert.That(op.Disabled, Is.True);
            Assert.That(removeOp.Disabled, Is.False);
        }
        public void ShouldDisableAddViewOrTablePropertyIfRemovedByMerge(bool forView)
        {
            var op       = new AddExtendedPropertyOperation("schema", "tableOrView", "name", "value", forView);
            var removeOp = new RemoveExtendedPropertyOperation("SCHEMA", "TABLEORVIEW", "NAME", forView);

            op.Merge(removeOp);
            Assert.That(op.Disabled, Is.True);
            Assert.That(removeOp.Disabled, Is.True);
        }
        public void ShouldRemoveIfAddingSchemaPropertyAndSchemaGettingRemoved()
        {
            var op             = new AddExtendedPropertyOperation("schema", "name", "value");
            var removeSchemaOp = new RemoveSchemaOperation("SCHEMA");

            op.Merge(removeSchemaOp);
            Assert.That(op.Disabled, Is.True);
            Assert.That(removeSchemaOp.Disabled, Is.False);
        }
        public void ShouldUpdateOperationIfViewIsRenamed()
        {
            var op       = new AddExtendedPropertyOperation("schema", "view", "name", "value", true);
            var renameOp = new RenameObjectOperation("SCHEMA", "VIEW", "newview");

            op.Merge(renameOp);
            Assert.That(op.Disabled, Is.False);
            Assert.That(renameOp.Disabled, Is.False);
            Assert.That(op.TableViewName, Is.EqualTo("newview"));
        }
        public void ShouldUpdateTableOrViewColumnPropertyIfUpdatedByMerge(bool forView)
        {
            var op       = new AddExtendedPropertyOperation("schema", "tableorview", "column", "name", "value", forView);
            var updateOp = new UpdateExtendedPropertyOperation("SCHEMA", "TABLEORVIEW", "COLUMN", "NAME", "newvalue", forView);

            op.Merge(updateOp);
            Assert.That(op.Disabled, Is.False);
            Assert.That(updateOp.Disabled, Is.True);
            Assert.That(op.Value, Is.EqualTo("newvalue"));
        }
        public void ShouldUpdateSchemaPropertyIfUpdatedByMerge()
        {
            var op       = new AddExtendedPropertyOperation("schema", "name", "value");
            var updateOp = new UpdateExtendedPropertyOperation("SCHEMA", "NAME", "newvalue");

            op.Merge(updateOp);
            Assert.That(op.Disabled, Is.False);
            Assert.That(updateOp.Disabled, Is.True);
            Assert.That(op.Value, Is.EqualTo("newvalue"));
        }
        public void ShouldRemoveIfTableColumnIsRemoved()
        {
            var op       = new AddExtendedPropertyOperation("schema", "table", "column", "name", "value", false);
            var renameOp = new RenameColumnOperation("SCHEMA", "TABLE", "COLUMN", "newcolumn");

            op.Merge(renameOp);
            Assert.That(op.Disabled, Is.False);
            Assert.That(renameOp.Disabled, Is.False);
            Assert.That(op.ColumnName, Is.EqualTo("newcolumn"));
        }
        public void ShouldSetPropertiesForAddExtendedPropertyForScheam()
        {
            //For Schema
            var op = new AddExtendedPropertyOperation(SchemaName, Name, Value);

            Assert.AreEqual(true, op.ForSchema);
            Assert.AreEqual(SchemaName, op.SchemaName);
            Assert.AreEqual(Name, op.Name);
            Assert.AreEqual(Value, op.Value);
            Assert.That(op.TableViewObjectName, Is.Empty);
        }
        public void ShouldSetPropertiesForAddExtendedPropertyForView()
        {
            //For View
            var op = new AddExtendedPropertyOperation(SchemaName, ViewName, Name, Value, true);

            Assert.AreEqual(true, op.ForView);
            Assert.AreEqual(SchemaName, op.SchemaName);
            Assert.AreEqual(ViewName, op.TableViewName);
            Assert.AreEqual(Name, op.Name);
            Assert.AreEqual(Value, op.Value);
            Assert.That(op.TableViewObjectName, Is.EqualTo($"{SchemaName}.{ViewName}"));
        }
        public void ShouldSetPropertiesForAddExtendedPropertyForColumn()
        {
            //For Column
            var op = new AddExtendedPropertyOperation(SchemaName, TableName, ColumnName, Name, Value, false);

            Assert.AreEqual(true, op.ForColumn);
            Assert.AreEqual(SchemaName, op.SchemaName);
            Assert.AreEqual(TableName, op.TableViewName);
            Assert.AreEqual(ColumnName, op.ColumnName);
            Assert.AreEqual(Name, op.Name);
            Assert.AreEqual(Value, op.Value);
            Assert.That(op.TableViewObjectName, Is.EqualTo($"{SchemaName}.{TableName}"));
        }
Пример #19
0
        private void Generate(AddExtendedPropertyOperation operation, MigrationCommandListBuilder builder)
        {
            builder.Append("EXEC sys.sp_addextendedproperty");
            builder.Append($" @name = N'{operation.ExtendedProperty.Key}'");
            builder.Append($", @value = N'{operation.ExtendedProperty.Value}'");
            builder.Append(", @level0type = N'SCHEMA'");
            builder.Append($", @level0name = N'{operation.SchemaTableColumn.Schema ?? "dbo"}'");
            builder.Append(", @level1type = N'TABLE'");
            builder.Append($", @level1name = N'{operation.SchemaTableColumn.Table}'");

            if (!String.IsNullOrEmpty(operation.SchemaTableColumn.Column))
            {
                builder.Append($@",@level2type = 'COLUMN', @level2name = '{operation.SchemaTableColumn.Column}'");
            }

            builder.EndCommand();
        }