public virtual void Process(AlterColumnExpression expression) { Process(Generator.Generate(expression)); }
public abstract string Generate(AlterColumnExpression expression);
public override string Generate(AlterColumnExpression expression) { return(string.Format("ALTER TABLE {0}.{1}", Quoter.QuoteSchemaName(expression.SchemaName), base.Generate(expression))); }
public override string Generate(AlterColumnExpression expression) { truncator.Truncate(expression); return(compatabilityMode.HandleCompatabilty("Alter column is not supported as expected")); }
public override void Process(AlterColumnExpression expression) { base.Process(expression.ToLower()); }
public string GenerateDescriptionStatement(AlterColumnExpression expression) { return(string.Empty); }
public override void Process(AlterColumnExpression expression) { Truncator.Truncate(expression); CheckColumn(expression.TableName, expression.Column.Name); FirebirdSchemaProvider schema = new FirebirdSchemaProvider(this, _quoter); FirebirdTableSchema table = schema.GetTableSchema(expression.TableName); ColumnDefinition colDef = table.Definition.Columns.FirstOrDefault(x => x.Name == _quoter.ToFbObjectName(expression.Column.Name)); var generator = (FirebirdGenerator)Generator; var tableName = expression.Column.TableName ?? expression.TableName; //Change nullable constraint if (colDef == null || colDef.IsNullable != expression.Column.IsNullable) { string nullConstraintCommand; if (IsFirebird3) { nullConstraintCommand = generator.GenerateSetNull3(tableName, expression.Column); } else { nullConstraintCommand = generator.GenerateSetNullPre3(tableName, expression.Column); } InternalProcess(nullConstraintCommand); } //Change default value if (colDef == null || !FirebirdGenerator.DefaultValuesMatch(colDef, expression.Column)) { IMigrationExpression defaultConstraint; if (expression.Column.DefaultValue is ColumnDefinition.UndefinedDefaultValue) { defaultConstraint = new DeleteDefaultConstraintExpression() { SchemaName = expression.SchemaName, TableName = expression.TableName, ColumnName = expression.Column.Name }; } else { defaultConstraint = new AlterDefaultConstraintExpression() { ColumnName = expression.Column.Name, DefaultValue = expression.Column.DefaultValue, TableName = expression.TableName, SchemaName = expression.SchemaName }; } if (defaultConstraint is DeleteDefaultConstraintExpression deleteDefaultConstraintExpression) { InternalProcess(Generator.Generate(deleteDefaultConstraintExpression)); } else { InternalProcess(Generator.Generate((AlterDefaultConstraintExpression)defaultConstraint)); } } //Change type if (colDef == null || !FirebirdGenerator.ColumnTypesMatch(colDef, expression.Column)) { InternalProcess(generator.GenerateSetType(tableName, expression.Column)); } bool identitySequenceExists; try { identitySequenceExists = SequenceExists(string.Empty, GetSequenceName(expression.TableName, expression.Column.Name)); } catch (ArgumentException) { identitySequenceExists = false; } //Adjust identity generators if (expression.Column.IsIdentity) { if (!identitySequenceExists) { CreateSequenceForIdentity(expression.TableName, expression.Column.Name); } } else { if (identitySequenceExists) { DeleteSequenceForIdentity(expression.TableName, expression.Column.Name); } } }
public override string Generate(AlterColumnExpression expression) { return(String.Format("ALTER TABLE {0}.{1} {2}", Quoter.QuoteSchemaName(expression.SchemaName), Quoter.QuoteTableName(expression.TableName), ((PostgresColumn)Column).GenerateAlterClauses(expression.Column))); }
public override string Generate(AlterColumnExpression expression) { throw new NotImplementedException(); }
public override string Generate(AlterColumnExpression expression) { return(compatabilityMode.HandleCompatabilty("Sqlite does not support alter column")); }