Doküman menüsü

Sürüm 1.8.0-community

Silmeden Kopyalama

İlişkili veriyi başka bir sunucuya çoğaltın, kaynağa hiç dokunmadan.

Kopyalama iş akışı veriyi hedefe yazar ve kaynağı olduğu gibi bırakır. Hiçbir şey silinmez.

Çalıştırma

goarchive copy-only -c archiver.yaml --job archive_old_orders

Ne zaman kullanılır

  • Raporlama veya analiz veritabanı beslerken — ilişkileri tutarlı bir veri dilimiyle.
  • Test ortamı hazırlarken — ilişkileri bozulmamış gerçek veriyle.
  • Arşivlemeyi ikiye bölerken — şimdi kopyala, acele etmeden doğrula, sonra purge ile sil.
  • Bir iş tanımını denerken — gerçek veri üzerinde, hiçbir şeyin silinmesi ihtimali olmadan.

Neler olur

Keşif, sıralama, batch işleme ve doğrulama tam olarak arşivleme iş akışındaki gibi çalışır. Fark, çalışmanın doğrulamadan sonra bitmesidir. Silme adımı yoktur.

Kaynaktan hiçbir şey silinmediği için silmeye özgü denetimler geçerli olmaz ve silme yetkisi gerekmez.

Yapılandırma

Aynı iş tanımı her iş akışına hizmet eder. Bir işin kopyalamaya özgü hiçbir yanı yoktur:

jobs:
  archive_old_orders:
    root_table: orders
    primary_key: id
    where: "created_at < DATE_SUB(NOW(), INTERVAL 2 YEAR)"
    relations:
      - table: order_items
        primary_key: id
        foreign_key: order_id
        dependency_type: "1-N"

Şimdi kopyala, sonra sil

İki yarı ayrı komutlar olduğu için aralarına zaman koyabilirsiniz:

# bugün — kopyala, kaynak olduğu gibi kalsın
goarchive copy-only -c archiver.yaml --job archive_old_orders

# arşivin eksiksiz ve yedeklenmiş olduğunu teyit ettikten sonra
goarchive purge -c archiver.yaml --job archive_old_orders

Bu, hiçbir şey silinmeden önce arşivi doğrulamak için size bir aralık verir. Bkz. Veri Temizleme .

Devam etme

Her iş akışında olduğu gibi, komutu yeniden çalıştırmak yarıda kalan bir kopyalamayı sürdürür. Kopyalanmış ve doğrulanmış satırlar ikinci kez kopyalanmak yerine tamamlandı olarak işaretlenir.