38 lines
2.1 KiB
Markdown
38 lines
2.1 KiB
Markdown
# Verwijderen van een bronbatch
|
|
|
|
De API kan een expliciet geïdentificeerde externe bronbatch definitief verwijderen
|
|
wanneer die buiten de standaard importjob-rollback is gepubliceerd. Dit is uitsluitend
|
|
voor een Administrator en nooit een normale wiki-actie.
|
|
|
|
## Voorwaarden
|
|
|
|
1. Maak en herstel-test eerst een verse applicatiebackup naar een afzonderlijke
|
|
PostgreSQL-doeldatabase.
|
|
2. Stel een reviewed, secretvrije lijst met uitsluitend de eerder vastgelegde
|
|
page-ID's én hun gevalideerde SHA-256-contenthash samen. Gebruik geen titel,
|
|
pad of zoekresultaat als primaire grens. De API blokkeert elke pagina waarvan
|
|
de huidige hash niet meer overeenkomt met het batchbewijs.
|
|
3. Roep `POST /api/v1/admin/source-batches/purge/dry-run` aan met de batch-ID,
|
|
bronnaam en die lijst.
|
|
4. Stop wanneer `safe` onwaar is. Blokkerende gevallen zijn onder meer ontbrekende
|
|
of niet-gemarkeerde pagina's, aanvullende bronpagina's buiten de lijst, afgeleide
|
|
pagina's zonder betrouwbare koppeling, backlinks vanuit behouden pagina's en
|
|
project-/runbookkoppelingen.
|
|
5. Gebruik uitsluitend de ongewijzigde `confirmationHash` uit een groene dry-run in
|
|
`POST /api/v1/admin/source-batches/purge/execute`.
|
|
|
|
De execute-call draait de databaseverwijdering transactioneel uit. Attachmentblobs
|
|
worden alleen verwijderd als er na die transactie geen references meer bestaan én de
|
|
fysieke bytes opnieuw dezelfde SHA-256 opleveren. Een fout bij fysiek opruimen laat
|
|
hoogstens een retriable orphan achter; de toepassing verwijdert nooit een blob waar een
|
|
behouden database-reference nog naar wijst.
|
|
|
|
## Validatie na afloop
|
|
|
|
Controleer met een nieuwe dry-run/leesinventarisatie dat er geen bronpagina's of
|
|
technische brontags meer bestaan. Herbouw zoekprojecties door de normale
|
|
PostgreSQL-trigger op de verwijdering te laten werken; er is geen tweede zoekindex om
|
|
apart te verwijderen. Valideer behouden pagina's, gedeelde attachments, gebruikers,
|
|
projecten en runbooks apart. Maak daarna een nieuwe schone backup en test ook die
|
|
restore voordat een tijdelijke backup met verwijderde inhoud wordt opgeruimd.
|