
# Posnetki

Posnetki zajamejo točko za obnovitev peskovnika.

```bash
wp rudel snapshot alpha-3be7 --name=before-test
```

Obnovite posnetek:

```bash
wp rudel restore alpha-3be7 --snapshot=before-test
```

`restore` zahteva potrditev; `--force` preskoči poziv. Imena posnetkov so lahko dolga do 64 črk, številk, pik, vezajev ali podčrtajev ter se morajo začeti s črko ali številko.

Posnetki so namenjeni obnovitvi peskovnika, ne identiteti izvajalnega okolja. Zapis okolja ostaja vir resnice za peskovnik.

## Kaj zajamejo posnetki

- vse tabele s predpono peskovnika, vključno z uporabniki, kopirane v isti bazi podatkov pod `{sandbox_prefix}snap_{hash}_`, na primer `wp_b65338d_snap_3ba676_options`
- imenik teme peskovnika, kopiran v `snapshots/{name}/themes` v imeniku peskovnika
- metapodatke v `snapshots/{name}/snapshot.json` in `snapshots/{name}/db_snapshot.json`

Posnetek zato zahteva celotno kopijo tabel peskovnika v gostiteljski bazi podatkov in kopijo datotek teme.

## Česa posnetki ne zajamejo

- jedra gostitelja WordPress
- datotek vtičnikov v skupni rabi
- naloženih datotek v skupni rabi

## Obnovitev

Obnovitev izbriše tabele peskovnika (tabele posnetka ohrani), kopira tabele posnetka nazaj in zamenja imenik teme peskovnika s shranjeno kopijo.

Privzeto Rudel najprej shrani trenutno stanje kot posnetek z imenom `pre-restore-{timestamp}-{hash}`, da lahko obnovitev razveljavite. Če želite to izklopiti, v `rudel_config` nastavite `auto_snapshot_before_restore` na `0`.

## Seznam in odstranjevanje

Ukaz CLI za izpis ali brisanje posnetkov ne obstaja. V ukazu PHP jih `Rudel::snapshots( $id )` izpiše, od najnovejših naprej. Tabele posnetkov se izbrišejo ob uničenju peskovnika; do takrat ostanejo, tudi samodejni posnetki `pre-restore-*` ([issue #5](https://github.com/inline0/rudel/issues/5)).
