public void AlterColumn(string columnName, Action <AlterColumnCommand> column = null) { var command = new AlterColumnCommand(Name, columnName); column?.Invoke(command); TableCommands.Add(command); }
public void AlterColumn(string columnName, Action <AlterColumnCommand> column = null) { var command = new AlterColumnCommand(Name, columnName); if (column != null) { column(command); } TableCommands.Add(command); }
public override void Run(StringBuilder builder, AlterColumnCommand command) { builder.AppendFormat("alter table {0} modify column {1} ", _dialect.QuoteForTableName(command.TableName), _dialect.QuoteForColumnName(command.ColumnName)); var initLength = builder.Length; // type if (command.DbType != DbType.Object) { builder.Append(_dialect.GetTypeName(command.DbType, command.Length, command.Precision, command.Scale)); } else { if (command.Length > 0 || command.Precision > 0 || command.Scale > 0) { throw new Exception("Error while executing data migration: you need to specify the field's type in order to change its properties"); } } // [default value] var builder2 = new StringBuilder(); builder2.AppendFormat("alter table {0} alter column {1} ", _dialect.QuoteForTableName(command.TableName), _dialect.QuoteForColumnName(command.ColumnName)); var initLength2 = builder2.Length; if (command.Default != null) { builder2.Append(" set default ").Append(_dialect.GetSqlValue(command.Default)).Append(" "); } // result var result = new List<string>(); if (builder.Length > initLength) { result.Add(builder.ToString()); } if (builder2.Length > initLength2) { result.Add(builder2.ToString()); } }
public virtual void Run(StringBuilder builder, AlterColumnCommand command) { builder.AppendFormat("alter table {0} alter column {1} ", _dialect.QuoteForTableName(command.TableName), _dialect.QuoteForColumnName(command.ColumnName)); // type if (command.DbType != DbType.Object) { builder.Append(_dialect.GetTypeName(command.DbType, command.Length, command.Precision, command.Scale)); } else { if (command.Length > 0 || command.Precision > 0 || command.Scale > 0) { throw new Exception("Error while executing data migration: you need to specify the field's type in order to change its properties"); } } // [default value] if (command.Default != null) { builder.Append(" set default ").Append(_dialect.GetSqlValue(command.Default)).Append(Space); } }