protected override string CreateDropColumnQuery(MetaComparisonTableGroup tableGroup, MetaComparisonColumnGroup columnGroup) { var metaTable = (MetaTable)tableGroup.RequiredItem; var metaColumn = (MetaColumn)columnGroup.RequiredItem; var sb = new StringBuilder(); sb.Append("ALTER TABLE ["); sb.Append(metaTable.Name); sb.Append("] DROP COLUMN "); sb.Append(metaColumn.Name); sb.Append(" "); return(sb.ToString()); }
protected override string CreateAlterColumnQuery(MetaComparisonTableGroup tableGroup, MetaComparisonColumnGroup columnGroup) { var metaTable = (MetaTable)tableGroup.RequiredItem; var metaColumn = (MetaColumn)columnGroup.RequiredItem; var sb = new StringBuilder(); sb.Append("ALTER TABLE ["); sb.Append(metaTable.Name); sb.Append("] ALTER "); sb.Append(metaColumn.Name); sb.Append(" "); sb.Append(" SET DATA TYPE "); if (metaColumn.ColumnType == ColumnType.Char || metaColumn.ColumnType == ColumnType.Varchar) { sb.Append(MapColumnTypeToTypeName(metaColumn.ColumnType)); sb.Append("("); sb.Append(metaColumn.Size); sb.Append(")"); } else { sb.Append(MapColumnTypeToTypeName(metaColumn.ColumnType)); } sb.Append(" DEFAULT "); if (!metaColumn.Null) { string defaultValue = GetDefaultValueForType(metaColumn.ColumnType); if (defaultValue != null) { sb.Append(defaultValue); } } else { sb.Append("NULL"); } sb.Append(" "); sb.Append(metaColumn.Null ? "" : "NOT NULL"); sb.Append(" "); return(sb.ToString()); }
protected abstract string CreateAlterColumnQuery(MetaComparisonTableGroup tableGroup, MetaComparisonColumnGroup columnGroup);
protected override string CreateDropColumnQuery(MetaComparisonTableGroup tableGroup, MetaComparisonColumnGroup columnGroup) { //sql lite does not support this return(null); }