public static void AlterComments(TextWriter writer, PgSchema oldSchema, PgSchema newSchema, SearchPathHelper searchPathHelper) { if (oldSchema == null) { return; } foreach (var oldIndex in oldSchema.GetIndexes()) { var newIndex = newSchema.GetIndex(oldIndex.Name); if (newIndex == null) { continue; } if (oldIndex.Comment == null && newIndex.Comment != null || oldIndex.Comment != null && newIndex.Comment != null && !oldIndex.Comment.Equals( newIndex.Comment)) { searchPathHelper.OutputSearchPath(writer); writer.WriteLine(); writer.Write("COMMENT ON INDEX "); writer.Write(PgDiffUtils.GetQuotedName(newIndex.Name)); writer.Write(" IS "); writer.Write(newIndex.Comment); writer.WriteLine(';'); } else if (oldIndex.Comment != null && newIndex.Comment == null) { searchPathHelper.OutputSearchPath(writer); writer.WriteLine(); writer.Write("COMMENT ON INDEX "); writer.Write(PgDiffUtils.GetQuotedName(newIndex.Name)); writer.WriteLine(" IS NULL;"); } } }