Planlama ve Önizleme
Bir işi çalıştırmadan önce tablo ilişkilerini inceleyin, ortamı denetleyin ve satır sayılarını önizleyin.
Üç komut, bir işi çalıştırmadan önce onu eksiksiz anlamanızı sağlar. Hiçbiri veriyi değiştirmez.
İşleri listelemek
goarchive list-jobs -c archiver.yaml
Yapılandırma dosyasında tanımlı her işi, kök tablosuyla birlikte gösterir.
İlişkileri görmek
goarchive plan -c archiver.yaml --job archive_old_orders
plan ilişki ağacını çizer; tabloların hangi sırayla yazılacağını ve hangi
sırayla silineceğini, geçerli ayarların bir özetiyle birlikte bildirir.
=================
Relation Tree
=================
┌────────────────┐ [ Tree Summary ]
│ │ ----------------
│ orders ├─────1-N──────┐ Root Table: orders
│ │ │ │ Relations: 4 tables
└────────┬───────┘ └────────┼──1-1─┐ Max Depth: 2 levels
│ │ │ Destination DB: archive
1-N │ │
▼ ▼ ▼ [ Processing ]
┌────────────────┐ ┌──────────────┐ --------------
│ order_items │ │order_payments│ Batch Size: 1000
└────────────────┘ └──────────────┘ Batch Delete: 500
Tanımladığınız yapının, kastettiğiniz yapı olduğunu teyit etmek için kullanın.
Ortamı denetlemek
goarchive validate -c archiver.yaml
validate her iki sunucuyu inceler ve bulduklarını raporlar: tabloların var olup
olmadığı, yapılarının uyumlu olup olmadığı, hesabınızın gereken yetkilere sahip
olup olmadığı, tanımlanan ilişkilerin veritabanıyla örtüşüp örtüşmediği ve
şemayla ilgili çalışmadan önce ilgilenilmesi gereken bir şey olup olmadığı.
Dosyadaki tüm işleri kapsar. Tek bir işe daraltmak için:
goarchive validate -c archiver.yaml --job archive_old_orders
Bir iş tanımını ya da şemalardan birini her değiştirdiğinizde çalıştırın.
İşi önizlemek
goarchive dry-run -c archiver.yaml --job archive_old_orders
dry-run şunları bildirir:
- İşin uygulayacağı filtre
- Her tablonun kaç satır katacağı — tablo bütününü saymak yerine gerçek ilişki zinciri izlenerek
- Yapılandırılan
batch_sizedeğerinin her tablo için hedefin sınırlarına uyup uymadığı
Hiçbir şey yazmaz. Sınırları ölçmek için hedefte yaptığı işlemler bitmeden geri alınır.
Makul bir sıra
goarchive plan -c archiver.yaml --job archive_old_orders # yapı doğru mu?
goarchive validate -c archiver.yaml # ortam hazır mı?
goarchive dry-run -c archiver.yaml --job archive_old_orders # ne kadar taşınacak?
goarchive archive -c archiver.yaml --job archive_old_orders # çalıştır
