Snapshots
Snapshots leggen een herstelpunt van een sandbox vast.
wp rudel snapshot alpha-3be7 --name=before-test
Een snapshot terugzetten:
wp rudel restore alpha-3be7 --snapshot=before-test
restore vraagt om bevestiging; --force slaat de prompt over. Snapshotnamen mogen maximaal 64 letters, cijfers, punten, streepjes of underscores bevatten en moeten beginnen met een letter of cijfer.
Snapshots zijn bedoeld voor sandboxherstel, niet voor runtime-identiteit. De omgevingsrecord blijft de bron van waarheid voor de sandbox.
Wat snapshots vastleggen
- elke tabel met de sandboxprefix, inclusief gebruikers, gekopieerd in dezelfde database onder
{sandbox_prefix}snap_{hash}_, bijvoorbeeldwp_b65338d_snap_3ba676_options - de themamap van de sandbox, gekopieerd naar
snapshots/{name}/themesin de sandboxmap - metadata in
snapshots/{name}/snapshot.jsonensnapshots/{name}/db_snapshot.json
Een snapshot kost dus een volledige kopie van de sandboxtabellen in de hostdatabase plus een kopie van de themabestanden.
Wat snapshots niet vastleggen
- de host-WordPress-core
- gedeelde plug-inbestanden
- gedeelde uploads
Herstellen
Bij het terugzetten worden de sandboxtabellen verwijderd (de snapshottabellen blijven behouden), worden de snapshottabellen teruggekopieerd en wordt de themamap van de sandbox vervangen door de opgeslagen kopie.
Standaard slaat Rudel eerst de huidige status op als snapshot met de naam pre-restore-{timestamp}-{hash}, zodat het terugzetten ongedaan kan worden gemaakt. Stel auto_snapshot_before_restore in rudel_config in op 0 om dit uit te schakelen.
Overzicht en verwijderen
Er is geen CLI-opdracht om snapshots weer te geven of te verwijderen. Vanuit PHP geeft Rudel::snapshots( $id ) ze weer, nieuwste eerst. Snapshottabellen worden verwijderd wanneer de sandbox wordt vernietigd; tot die tijd blijven ze bestaan, inclusief de automatische pre-restore-*-snapshots (probleem 5).