Doküman menüsü

Sürüm 1.8.0-community

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_size değ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