public override string Generate(DeleteColumnExpression expression) { // before we drop a column, we have to drop any default value constraints in SQL Server var builder = new StringBuilder(); foreach (string column in expression.ColumnNames) { if (expression.ColumnNames.First() != column) { builder.AppendLine("GO"); } BuildDelete(expression, column, builder); } return(builder.ToString()); }
public override string Generate(DeleteColumnExpression expression) { StringBuilder builder = new StringBuilder(); foreach (string columnName in expression.ColumnNames) { if (expression.ColumnNames.First() != columnName) { builder.AppendLine(";"); } builder.AppendFormat("ALTER TABLE {0}.{1} DROP COLUMN {2}", Quoter.QuoteSchemaName(expression.SchemaName), Quoter.QuoteTableName(expression.TableName), Quoter.QuoteColumnName(columnName)); } return(builder.ToString()); }
protected virtual void BuildDelete(DeleteColumnExpression expression, string columnName, StringBuilder builder) { builder.AppendLine( Generate( new DeleteDefaultConstraintExpression { ColumnName = columnName, SchemaName = expression.SchemaName, TableName = expression.TableName })); builder.AppendLine(); builder.AppendLine(string.Format("-- now we can finally drop column" + Environment.NewLine + "ALTER TABLE {0} DROP COLUMN {1};", Quoter.QuoteTableName(expression.TableName, expression.SchemaName), Quoter.QuoteColumnName(columnName))); }
public override void Process(DeleteColumnExpression expression) { var tableDefinition = GetTableSchema(expression.TableName); var columnDefinitions = tableDefinition.Columns.ToList(); var indexDefinitions = tableDefinition.Indexes.ToList(); var columnsToRemove = expression.ColumnNames.ToList(); columnDefinitions.RemoveAll(c => columnsToRemove.Remove(c.Name)); indexDefinitions.RemoveAll(i => i.Columns.Any(c => expression.ColumnNames.Contains(c.Name))); tableDefinition.Columns = columnDefinitions; tableDefinition.Indexes = indexDefinitions; if (columnsToRemove.Any()) { throw new ApplicationException(string.Format("Column {0} does not exist on table {1}.", columnsToRemove.First(), expression.TableName)); } ProcessAlterTable(tableDefinition); }
public override void Process(DeleteColumnExpression expression) { Truncator.Truncate(expression); CheckColumn(expression.TableName, expression.ColumnNames); LockColumn(expression.TableName, expression.ColumnNames); foreach (string columnName in expression.ColumnNames) { try { if (SequenceExists(string.Empty, GetSequenceName(expression.TableName, columnName))) { DeleteSequenceForIdentity(expression.TableName, columnName); } } catch (ArgumentException) { // Ignore argument exception??? } } InternalProcess(Generator.Generate(expression)); }
public override string Generate(DeleteColumnExpression expression) { return(string.Format("ALTER TABLE {0}.{1} DROP COLUMN {2}", Quoter.QuoteSchemaName(expression.SchemaName), Quoter.QuoteTableName(expression.TableName), Quoter.QuoteColumnName(expression.ColumnName))); }
public override string Generate(DeleteColumnExpression expression) { Truncator.Truncate(expression); return(base.Generate(expression)); }
public virtual void Process(DeleteColumnExpression expression) { Process(Generator.Generate(expression)); }
public override string Generate(DeleteColumnExpression expression) { return(CompatibilityMode.HandleCompatibilty("SQLite does not support deleting of columns")); }
public abstract string Generate(DeleteColumnExpression expression);
public override string Generate(DeleteColumnExpression expression) { return(string.Join(MultilineDelimiter, expression.ColumnNames.Select(columnName => String.Format(DropColumn, Quoter.QuoteTableName(expression.TableName), Quoter.QuoteColumnName(columnName), CommandDelimiter)).ToArray())); }
public override string Generate(DeleteColumnExpression expression) { throw new NotImplementedException(); }
public override string Generate(DeleteColumnExpression expression) { return(string.Format("{0};", base.Generate(expression))); }
public override string Generate(DeleteColumnExpression expression) { return(String.Format(DropColumn, Quoter.QuoteTableName(expression.TableName), Quoter.QuoteColumnName(expression.ColumnName))); }
public void Truncate(DeleteColumnExpression expression) { expression.TableName = Truncate(expression.TableName); expression.ColumnNames = TruncateNames(expression.ColumnNames); }
public static DeleteColumnExpression ToLower(this DeleteColumnExpression expresstion) { expresstion.TableName = expresstion.TableName.ToLower(); expresstion.ColumnNames = expresstion.ColumnNames.ToLower(); return(expresstion); }
public override string Generate(DeleteColumnExpression expression) { return(string.Format("ALTER TABLE {0}.{1} DROP COLUMN {2}", FormatSchema(expression.SchemaName), FormatIdentifier(expression.TableName), FormatIdentifier(expression.ColumnName))); }
public override void Process(DeleteColumnExpression expression) { base.Process(expression.ToLower()); }