Ejemplo n.º 1
0
        public virtual void AppendConstraints(TableAttribute table, ConstraintExpression constraint)
        {
            var alter = new AlterTableExpression(new TableExpression(table));

            alter.AddConstraint(constraint);
            ExecuteNonQuery(alter);
        }
        public virtual DatabaseCommand GenerateAlterTable(AlterTableExpression model)
        {
            StringBuilder sb = new StringBuilder();

            foreach (var column in model.DropColumns)
            {
                sb.AppendFormat(DropColumnFormat,
                                Dialect.QuoteTableName(model.TableName),
                                Dialect.QuoteColumnName(column));
                sb.AppendLine(";");
            }
            foreach (var column in model.AlterColumns)
            {
                string columnDefinition = ColumnGenerator.Generate(column);
                sb.AppendFormat(AlterColumnFormat,
                                Dialect.QuoteTableName(model.TableName),
                                columnDefinition);
                sb.AppendLine(";");
            }
            foreach (var column in model.AddColumns)
            {
                string columnDefinition = ColumnGenerator.Generate(column);
                sb.AppendFormat(AddColumnFormat,
                                Dialect.QuoteTableName(model.TableName),
                                columnDefinition);
                sb.AppendLine(";");
            }
            return(new DatabaseCommand(sb.ToString()));
        }
Ejemplo n.º 3
0
 public override void Process(AlterTableExpression expression)
 {
     Truncator.Truncate(expression);
     CheckTable(expression.TableName);
     LockTable(expression.TableName);
     InternalProcess(Generator.Generate(expression));
 }
Ejemplo n.º 4
0
        public override string Generate(AlterTableExpression expression)
        {
            var descriptionStatement = DescriptionGenerator.GenerateDescriptionStatement(expression);

            return(string.Format("{0};",
                                 string.IsNullOrEmpty(descriptionStatement)
                ? base.Generate(expression) : descriptionStatement));
        }
 public virtual string GenerateDescriptionStatement(AlterTableExpression expression)
 {
     if (string.IsNullOrEmpty(expression.TableDescription))
     {
         return(string.Empty);
     }
     return(GenerateTableDescription(
                expression.SchemaName, expression.TableName, expression.TableDescription));
 }
Ejemplo n.º 6
0
        public IAlterTableSyntax Table(string tableName)
        {
            var expression = new AlterTableExpression {
                TableName = tableName
            };

            //_context.Expressions.Add(expression);
            return(new AlterTableBuilder(expression, _context));
        }
Ejemplo n.º 7
0
        /// <inheritdoc />
        public IAlterTableBuilder Table(string tableName)
        {
            var expression = new AlterTableExpression(_context)
            {
                TableName = tableName
            };

            return(new AlterTableBuilder(_context, expression));
        }
Ejemplo n.º 8
0
 public override string Generate(AlterTableExpression expression)
 {
     if (string.IsNullOrEmpty(expression.TableDescription))
     {
         return(base.Generate(expression));
     }
     return(string.Format("ALTER TABLE {0} COMMENT {1}", Quoter.QuoteTableName(expression.TableName),
                          Quoter.QuoteValue(expression.TableDescription)));
 }
Ejemplo n.º 9
0
        public IAlterTableAddColumnOrAlterColumnOrSchemaOrDescriptionSyntax Table(string tableName)
        {
            var expression = new AlterTableExpression {
                TableName = tableName
            };

            _context.Expressions.Add(expression);
            return(new AlterTableExpressionBuilder(expression, _context));
        }
Ejemplo n.º 10
0
        public void ErrorIsNotReturnedWhenTableNameIsSet()
        {
            var expression = new AlterTableExpression {
                TableName = "table1"
            };

            var errors = ValidationHelper.CollectErrors(expression);

            Assert.That(errors.Count, Is.EqualTo(0));
        }
Ejemplo n.º 11
0
        public IAlterTableSyntax Table(string tableName)
        {
            var expression = new AlterTableExpression(_context.CurrentDatabaseProvider, _databaseProviders, _sqlSyntax)
            {
                TableName = tableName
            };

            //_context.Expressions.Add(expression);
            return(new AlterTableBuilder(_context, _databaseProviders, expression));
        }
Ejemplo n.º 12
0
        public void WhenDefaultSchemaConventionIsAppliedAndSchemaIsSetThenSchemaShouldNotBeChanged()
        {
            var expression = new AlterTableExpression {
                SchemaName = "testschema", TableName = "table1"
            };

            expression.ApplyConventions(new MigrationConventions());

            Assert.That(expression.SchemaName, Is.EqualTo("testschema"));
        }
Ejemplo n.º 13
0
        public override string Generate(AlterTableExpression expression)
        {
            var descriptionStatement = DescriptionGenerator.GenerateDescriptionStatement(expression);

            if (string.IsNullOrEmpty(descriptionStatement))
            {
                return(base.Generate(expression));
            }
            return(descriptionStatement);
        }
Ejemplo n.º 14
0
        public void WhenDefaultSchemaConventionIsChangedAndSchemaIsNotSetThenSetSchema()
        {
            var expression = new AlterTableExpression {
                TableName = "table1"
            };

            var processed = expression.Apply(ConventionSets.WithSchemaName);

            Assert.That(processed.SchemaName, Is.EqualTo("testdefault"));
        }
Ejemplo n.º 15
0
        public void WhenDefaultSchemaConventionIsAppliedAndSchemaIsSetThenSchemaShouldNotBeChanged()
        {
            var expression = new AlterTableExpression {
                SchemaName = "testschema", TableName = "table1"
            };

            var processed = expression.Apply(ConventionSets.WithSchemaName);

            Assert.That(processed.SchemaName, Is.EqualTo("testschema"));
        }
Ejemplo n.º 16
0
        public void WhenDefaultSchemaConventionIsAppliedAndSchemaIsNotSetThenSchemaShouldBeNull()
        {
            var expression = new AlterTableExpression {
                TableName = "table1"
            };

            var processed = expression.Apply(ConventionSets.NoSchemaName);

            Assert.That(processed.SchemaName, Is.Null);
        }
Ejemplo n.º 17
0
        public virtual void RemoveConstraint(TableAttribute table, IEnumerable <string> constraints)
        {
            var alter = new AlterTableExpression(new TableExpression(table));

            foreach (var constraint in constraints)
            {
                alter.DropConstraint(constraint);
            }
            ExecuteNonQuery(alter);
        }
Ejemplo n.º 18
0
        public void WhenDefaultSchemaConventionIsAppliedAndSchemaIsNotSetThenSchemaShouldBeNull()
        {
            var expression = new AlterTableExpression {
                TableName = "table1"
            };

            expression.ApplyConventions(new MigrationConventions());

            Assert.That(expression.SchemaName, Is.Null);
        }
Ejemplo n.º 19
0
        public void ErrorIsReturnedWhenTableNameIsEmptyString()
        {
            var expression = new AlterTableExpression {
                TableName = String.Empty
            };

            var errors = ValidationHelper.CollectErrors(expression);

            errors.ShouldContain(ErrorMessages.TableNameCannotBeNullOrEmpty);
        }
Ejemplo n.º 20
0
        public override string Generate(AlterTableExpression expression)
        {
            var alterStatement       = new StringBuilder();
            var descriptionStatement = DescriptionGenerator.GenerateDescriptionStatement(expression);

            alterStatement.Append(base.Generate(expression));
            if (string.IsNullOrEmpty(descriptionStatement))
            {
                alterStatement.Append(descriptionStatement);
            }
            return(alterStatement.ToString());
        }
Ejemplo n.º 21
0
        internal static int[] GetErrorFilters(this AlterTableExpression expression)
        {
            var id     = $"{expression.GetType().Name}_{expression.TableName}";
            var errors = Array.Empty <int>();

            if (ErrorFilter.TryGetValue($"{id}", out var tableErrors) && tableErrors.Any())
            {
                errors = errors.Union(tableErrors).Distinct().OrderBy(i => i).ToArray();
            }


            return(errors);
        }
Ejemplo n.º 22
0
        public void WhenDefaultSchemaConventionIsChangedAndSchemaIsNotSetThenSetSchema()
        {
            var expression = new AlterTableExpression {
                TableName = "table1"
            };
            var migrationConventions = new MigrationConventions {
                GetDefaultSchema = () => "testdefault"
            };

            expression.ApplyConventions(migrationConventions);

            Assert.That(expression.SchemaName, Is.EqualTo("testdefault"));
        }
        public override string GenerateDescriptionStatement(AlterTableExpression expression)
        {
            if (string.IsNullOrEmpty(expression.TableDescription))
            {
                return(string.Empty);
            }

            var formattedSchemaName = FormatSchemaName(expression.SchemaName);

            // For this, we need to remove the extended property first if exists (or implement verification and use sp_updateextendedproperty)
            var tableVerificationStatement = string.Format(TableDescriptionVerificationTemplate, formattedSchemaName, expression.TableName);
            var removalStatement           = string.Format("{0} {1}", tableVerificationStatement, GenerateTableDescriptionRemoval(formattedSchemaName, expression.TableName));
            var newDescriptionStatement    = GenerateTableDescription(formattedSchemaName, expression.TableName, expression.TableDescription);

            return(string.Join(";", new[] { removalStatement, newDescriptionStatement }));
        }
Ejemplo n.º 24
0
 public virtual void Process(AlterTableExpression expression)
 {
     Process(Generator.Generate(expression));
 }
Ejemplo n.º 25
0
 public string Generate(AlterTableExpression expression)
 {
     // returns nothing because the individual AddColumn and AlterColumn calls
     //  create CreateColumnExpression and AlterColumnExpression respectively
     return(string.Empty);
 }
Ejemplo n.º 26
0
        public override void Process(AlterTableExpression expression)
        {
            var sql = Generator.Generate(expression);

            ProcessWithErrorFilter(sql, expression.GetErrorFilters());
        }
 public override void Process(AlterTableExpression expression)
 {
     base.Process(expression.ToLower());
 }
Ejemplo n.º 28
0
        public static AlterTableExpression ToLower(this AlterTableExpression expresstion)
        {
            expresstion.TableName = expresstion.TableName.ToLower();

            return(expresstion);
        }
Ejemplo n.º 29
0
 public void Truncate(AlterTableExpression expression)
 {
     expression.TableName = Truncate(expression.TableName);
 }
 public virtual void AlterTable(AlterTableExpression model)
 {
     exec(Factory.GenerateAlterTable(model));
 }