feat: add metadata catalog cleanup commands
This commit is contained in:
@@ -1,3 +1,7 @@
|
||||
---
|
||||
status: superseded by ADR-0008
|
||||
---
|
||||
|
||||
# Hard-delete catalog tables during synchronization
|
||||
|
||||
An explicit Table Synchronization makes the Catalog Table membership exactly match a successful
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
status: accepted
|
||||
---
|
||||
|
||||
# Allow explicit manual catalog metadata cleanup
|
||||
|
||||
An administrator may explicitly clear structural projections from the Metadata Catalog without
|
||||
changing the Workspace Database, its binding, or its secrets. A database selection can remove all
|
||||
Catalog Tables, cascading their Catalog Columns and Catalog Relationships, or remove only its
|
||||
Catalog Relationships; a table selection can remove its Catalog Columns or every incoming and
|
||||
outgoing Catalog Relationship. Each selection is atomic, and a later Schema Synchronization can
|
||||
rebuild the removed projection from the external schema.
|
||||
|
||||
This supersedes ADR-0005's broader invariant that physical membership cannot be edited manually.
|
||||
Synchronization remains authoritative when it runs, while manual cleanup intentionally permits an
|
||||
incomplete catalog between cleanup and the next successful synchronization.
|
||||
@@ -149,9 +149,10 @@ canonico; i percorsi e i comportamenti descrivono il sorgente disponibile il 202
|
||||
`generated_description` nullable per lo step AI futuro, version e timestamp. La UI mostra come
|
||||
tre campi indipendenti senza fallback visivo: source comment read-only, generated description
|
||||
modificabile e description modificabile. I valori null restano celle e controlli vuoti.
|
||||
47. Le Catalog Table non possono essere aggiunte, rinominate o cancellate manualmente. `Sync tables`
|
||||
legge dal database esterno le tabelle PostgreSQL ordinarie e partizionate dello schema scelto;
|
||||
viste e materialized view sono escluse.
|
||||
47. Le Catalog Table non possono essere aggiunte o rinominate manualmente. Un amministratore può
|
||||
però ripulire esplicitamente le proiezioni nel Metadata Catalog senza modificare il database
|
||||
esterno; `Sync tables` legge le tabelle PostgreSQL ordinarie e partizionate dello schema scelto,
|
||||
mentre viste e materialized view sono escluse.
|
||||
48. La sincronizzazione è esplicita. La scansione avviene fuori dalla transazione del catalogo; il
|
||||
diff viene applicato atomicamente soltanto se la version del Workspace Database è ancora quella
|
||||
sottoposta a scansione. Una scansione fallita non modifica il catalogo.
|
||||
@@ -556,7 +557,8 @@ Gli endpoint dovranno vivere sotto un namespace catalogo e non riutilizzare le r
|
||||
Workspace Database, Catalog Table, Catalog Column e Catalog Relationship sono implementati con
|
||||
React/Vite e il design system ThothII.
|
||||
La navigazione è gerarchica e locale al database (`Overview | Tables`), senza menu o filtri globali
|
||||
per tipo di entità. La grid delle tabelle non offre Add/Delete; il dettaglio full-width mantiene
|
||||
per tipo di entità. La grid delle tabelle non offre Add o cancellazione della singola configurazione;
|
||||
le selezioni espongono invece la pulizia esplicita dei metadati. Il dettaglio full-width mantiene
|
||||
immutabili i fatti fisici e consente di modificare separatamente Description e Generated
|
||||
Description. Colonne e relazioni seguono la stessa gerarchia: Columns appartiene al dettaglio
|
||||
della tabella, Relationships al database. I valori descrittivi null sono mostrati come celle e
|
||||
@@ -569,8 +571,11 @@ accumulata attraverso i filtri e viene azzerata dopo successo, nuova sincronizza
|
||||
dalla pagina; un'azione è all-or-nothing se un elemento non è idoneo. I menu a livello database
|
||||
espongono gli scope fisici come azioni distinte: `Synchronize tables`, `Synchronize all columns`,
|
||||
`Synchronize relationships` e `Synchronize all`. La grid Tables espone invece `Synchronize
|
||||
columns` per le tabelle selezionate. Test connection resta un'azione distinta; griglie senza azioni
|
||||
non mostrano controlli di selezione inerti.
|
||||
columns` per le tabelle selezionate. Le selezioni database aggiungono `Delete all tables` e
|
||||
`Delete all relationships`; le selezioni tabelle aggiungono `Delete all columns` e `Delete all
|
||||
relationships`. Queste operazioni sono atomiche, richiedono conferma e non modificano database
|
||||
esterno, binding, configurazione o segreti. Test connection resta un'azione distinta; griglie senza
|
||||
azioni non mostrano controlli di selezione inerti.
|
||||
|
||||
### Step 6: introspezione
|
||||
|
||||
|
||||
Reference in New Issue
Block a user