Snapshot
Snapshot merekam titik pemulihan sandbox.
wp rudel snapshot alpha-3be7 --name=before-test
Pulihkan snapshot:
wp rudel restore alpha-3be7 --snapshot=before-test
restore meminta konfirmasi; --force melewati permintaan tersebut. Nama snapshot dapat terdiri dari maksimal 64 huruf, angka, titik, tanda hubung, atau garis bawah, dan harus diawali huruf atau angka.
Snapshot digunakan untuk memulihkan sandbox, bukan untuk identitas runtime. Catatan lingkungan tetap menjadi sumber kebenaran untuk sandbox.
Yang direkam oleh snapshot
- setiap tabel dengan prefix sandbox, termasuk pengguna, disalin di database yang sama di bawah
{sandbox_prefix}snap_{hash}_, misalnyawp_b65338d_snap_3ba676_options - direktori tema sandbox, disalin ke
snapshots/{name}/themesdi direktori sandbox - metadata di
snapshots/{name}/snapshot.jsondansnapshots/{name}/db_snapshot.json
Karena itu, snapshot memerlukan salinan lengkap tabel sandbox di database host serta salinan file tema.
Yang tidak direkam oleh snapshot
- file inti host WordPress
- file plugin bersama
- unggahan bersama
Restore
Pemulihan menghapus tabel sandbox (dengan tetap menyimpan tabel snapshot), menyalin kembali tabel snapshot, dan mengganti direktori tema sandbox dengan salinan yang tersimpan.
Secara default, Rudel terlebih dahulu menyimpan state saat ini sebagai snapshot bernama pre-restore-{timestamp}-{hash}, sehingga pemulihan dapat dibatalkan. Tetapkan auto_snapshot_before_restore menjadi 0 di rudel_config untuk menonaktifkannya.
Melihat daftar dan menghapus
Tidak ada perintah CLI untuk melihat daftar atau menghapus snapshot. Dari PHP, Rudel::snapshots( $id ) menampilkan daftar snapshot, dimulai dari yang terbaru. Tabel snapshot dihapus saat sandbox dihancurkan; sampai saat itu, tabel tetap ada, termasuk snapshot pre-restore-* otomatis (masalah #5).