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.
