(out *strings.Builder, schemaName, tableName string, columnDiff *schema.ColumnDiff)
| 1164 | } |
| 1165 | |
| 1166 | func writeColumnDiff(out *strings.Builder, schemaName, tableName string, columnDiff *schema.ColumnDiff) error { |
| 1167 | switch columnDiff.Action { |
| 1168 | case schema.MetadataDiffActionCreate: |
| 1169 | if _, err := fmt.Fprintf(out, "ALTER TABLE \"%s\".\"%s\" ADD COLUMN ", schemaName, tableName); err != nil { |
| 1170 | return err |
| 1171 | } |
| 1172 | if err := writeColumnDefinition(out, columnDiff.NewColumn); err != nil { |
| 1173 | return err |
| 1174 | } |
| 1175 | if _, err := out.WriteString(";\n\n"); err != nil { |
| 1176 | return err |
| 1177 | } |
| 1178 | if columnDiff.NewColumn.GetComment() != "" { |
| 1179 | return writeColumnComment(out, schemaName, tableName, columnDiff.NewColumn) |
| 1180 | } |
| 1181 | return nil |
| 1182 | case schema.MetadataDiffActionDrop: |
| 1183 | _, err := fmt.Fprintf(out, "ALTER TABLE \"%s\".\"%s\" DROP COLUMN \"%s\";\n\n", schemaName, tableName, columnDiff.OldColumn.Name) |
| 1184 | return err |
| 1185 | case schema.MetadataDiffActionAlter: |
| 1186 | return writeAlterColumnDiff(out, schemaName, tableName, columnDiff) |
| 1187 | default: |
| 1188 | return nil |
| 1189 | } |
| 1190 | } |
| 1191 | |
| 1192 | func writeAlterColumnDiff(out *strings.Builder, schemaName, tableName string, columnDiff *schema.ColumnDiff) error { |
| 1193 | oldColumn := columnDiff.OldColumn |
no test coverage detected