Snapshot
Gli snapshot acquisiscono un punto di ripristino della sandbox.
wp rudel snapshot alpha-3be7 --name=before-test
Ripristinate uno snapshot:
wp rudel restore alpha-3be7 --snapshot=before-test
restore chiede conferma; --force salta la richiesta. I nomi degli snapshot possono contenere fino a 64 lettere, cifre, punti, trattini o trattini bassi e devono iniziare con una lettera o una cifra.
Gli snapshot servono a ripristinare una sandbox, non la sua identità di runtime. Il record dell’ambiente resta la fonte attendibile per la sandbox.
Cosa includono gli snapshot
- ogni tabella con il prefisso della sandbox, inclusi gli utenti, copiata nello stesso database sotto
{sandbox_prefix}snap_{hash}_, per esempiowp_b65338d_snap_3ba676_options - la directory del tema della sandbox, copiata in
snapshots/{name}/themesnella directory della sandbox - i metadati in
snapshots/{name}/snapshot.jsonesnapshots/{name}/db_snapshot.json
Uno snapshot richiede quindi una copia completa delle tabelle della sandbox nel database dell’host e una copia dei file del tema.
Cosa non includono gli snapshot
- il nucleo di WordPress dell’host
- i file dei plugin condivisi
- i caricamenti condivisi
Ripristino
Il ripristino elimina le tabelle della sandbox, mantenendo quelle dello snapshot, ricopia le tabelle dello snapshot e sostituisce la directory del tema della sandbox con la copia salvata.
Per impostazione predefinita, Rudel salva prima lo stato corrente in uno snapshot chiamato pre-restore-{timestamp}-{hash}, così è possibile annullare il ripristino. Impostate auto_snapshot_before_restore su 0 in rudel_config per disattivare questa funzione.
Elencare e rimuovere
Non esiste un comando CLI per elencare o eliminare gli snapshot. Da PHP, Rudel::snapshots( $id ) li elenca dal più recente. Le tabelle degli snapshot vengono eliminate quando si distrugge la sandbox; fino ad allora restano, incluse quelle automatiche di pre-restore-* (problema n. 5).