added on local at 2026-07-10 23:21:59
| 1 | <div class="page-head"> | |
| 2 | <span class="page-eyebrow"><span class="dot"></span> Monitor</span> | |
| 3 | <h1 class="page-title">Schema changes</h1> | |
| 4 | <p class="page-subtitle">Every DDL change captured across every monitored database. Someone ALTERs a column? It shows up here whether they told you or not.</p> | |
| 5 | </div> | |
| 6 | ||
| 7 | $picker_html | |
| 8 | ||
| 9 | <form method="get" action="/schema_changes.cgi" style="display:flex;gap:8px;align-items:center;margin-bottom:16px"> | |
| 10 | <span class="rb-label" style="font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--text-muted);font-weight:700">Table filter</span> | |
| 11 | <input type="text" name="q" value="$q" placeholder="db or table name substring" style="flex:1;background:var(--bg-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:6px 12px;font-size:12.5px;font-family:inherit"> | |
| 12 | <button type="submit" class="tr-chip is-active" style="border:none">Apply</button> | |
| 13 | [if:$q]<a class="tr-chip" href="/schema_changes.cgi">Clear</a>[/if] | |
| 14 | </form> | |
| 15 | ||
| 16 | <div class="module glow-amber"> | |
| 17 | <div class="module-head"><div class="left"> | |
| 18 | <div class="module-icon"><svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2"><ellipse cx="12" cy="5" rx="9" ry="3"/><path d="M3 5v6c0 1.7 4 3 9 3s9-1.3 9-3V5"/></svg></div> | |
| 19 | <div class="module-title">DDL diffs</div> | |
| 20 | <span class="module-subtitle">Each row shows what the schema looked like before and after. Click to see the full unified diff of column adds, drops, and alters. $total match this window.</span> | |
| 21 | </div></div> | |
| 22 | <div class="module-body tight"> | |
| 23 | [if:$has_rows] | |
| 24 | <table class="tbl"> | |
| 25 | <thead><tr> | |
| 26 | <th style="width:220px">Database.Table</th> | |
| 27 | <th>Change</th> | |
| 28 | <th style="width:110px">30-day rhythm</th> | |
| 29 | <th style="width:110px">Server</th> | |
| 30 | <th style="width:180px">When</th> | |
| 31 | </tr></thead> | |
| 32 | <tbody> | |
| 33 | [loop:@rows] | |
| 34 | <tr> | |
| 35 | <td class="mono"><a href="$diff_url" style="color:var(--accent-hi);text-decoration:none"><strong>$database_name</strong>.<span class="dim">$table_name</span></a></td> | |
| 36 | <td class="mono dim" style="font-size:12px"><a href="$diff_url" style="color:inherit;text-decoration:none">$changes_preview</a></td> | |
| 37 | <td>$sparkline_svg</td> | |
| 38 | <td class="dim">$server_name</td> | |
| 39 | <td class="mono dim"><span class="ts" data-ts="$ts_epoch" data-fmt="datetime">$change_datetime</span></td> | |
| 40 | </tr> | |
| 41 | [/loop] | |
| 42 | </tbody> | |
| 43 | </table> | |
| 44 | [/if] | |
| 45 | [if:!$has_rows] | |
| 46 | <div style="padding:36px 14px;text-align:center;color:var(--text-dim);font-size:13.5px"> | |
| 47 | No schema changes captured in this window. Try widening the range with the chips above, or configure a database monitor in <a href="[url:databases]" style="color:var(--accent-hi)">Databases</a>. | |
| 48 | </div> | |
| 49 | [/if] | |
| 50 | </div> | |
| 51 | </div> |