Gå til indhold

Snapshots

Snapshots gemmer et gendannelsespunkt for en sandbox.

Shell
wp rudel snapshot alpha-3be7 --name=before-test

Gendan et snapshot:

Shell
wp rudel restore alpha-3be7 --snapshot=before-test

restore beder om bekræftelse; --force springer prompten over. Snapshotnavne må være op til 64 bogstaver, tal, punktummer, bindestreger eller understregninger og skal begynde med et bogstav eller et tal.

Snapshots bruges til gendannelse af sandboxes, ikke til runtime-identitet. Miljøposten er fortsat kilden til sandkassens identitet.

Hvad snapshots indeholder

  • alle tabeller med sandboxpræfikset, inklusive brugere, kopieres i samme database under {sandbox_prefix}snap_{hash}_, for eksempel wp_b65338d_snap_3ba676_options
  • sandboxens temamappe kopieres til snapshots/{name}/themes i sandboxmappen
  • metadata i snapshots/{name}/snapshot.json og snapshots/{name}/db_snapshot.json

Et snapshot kræver derfor en fuld kopi af sandboxens tabeller i værtsdatabasen samt en kopi af temafilerne.

Hvad snapshots ikke indeholder

  • værtens WordPress-kerne
  • delte pluginfiler
  • delte uploads

Gendan

Ved gendannelse slettes sandboxens tabeller (snapshot-tabellerne bevares), snapshot-tabellerne kopieres tilbage, og sandboxens temamappe erstattes med den gemte kopi.

Som standard gemmer Rudel først den aktuelle tilstand som et snapshot med navnet pre-restore-{timestamp}-{hash}, så en gendannelse kan fortrydes. Angiv auto_snapshot_before_restore til 0 i rudel_config for at slå dette fra.

Visning og fjernelse

Der findes ingen CLI-kommando til at vise eller slette snapshots. Fra PHP viser Rudel::snapshots( $id ) dem, nyeste først. Snapshot-tabeller slettes, når sandboxen ødelægges; indtil da bevares de, også de automatiske pre-restore-*-snapshots (issue #5).