Lewati ke konten

Snapshot

Snapshot merekam titik pemulihan sandbox.

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

Pulihkan snapshot:

Shell
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}_, misalnya wp_b65338d_snap_3ba676_options
  • direktori tema sandbox, disalin ke snapshots/{name}/themes di direktori sandbox
  • metadata di snapshots/{name}/snapshot.json dan snapshots/{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).