<div class="change-group change-group--update">
<h3>Updates</h3>
<table>
<thead>
<tr>
<th>PK</th><th>Column</th><th>Before</th><th>After</th>
</tr>
</thead>
<tbody>
<% for row in rows { %>
<% let pk_str = table.primary_key.iter().filter_map(|k| row.pk.get(k).map(|v| format!("{}={}", k, v))).collect::<Vec<_>>().join(", "); %>
<% for (i, col_diff) in row.changed_columns.iter().enumerate() { %>
<tr class="op-update">
<% if i == 0 { %>
<td class="pk-cell" rowspan="<%= row.changed_columns.len() %>"><%= pk_str %></td>
<% } %>
<td><%= &col_diff.column %></td>
<td class="val-before"><%= &col_diff.before.to_string() %></td>
<td class="val-after"><%= &col_diff.after.to_string() %></td>
</tr>
<% } %>
<% } %>
</tbody>
</table>
</div>