Delete! Pomocí Data Loaderu

19.04.2023

A jde se mazat!

Existuje několik možností jak v Salesforce mazat záznamy. Každý způsob má své okolnosti, tedy důvod proč je potřeba zrovna využít ten a nebo ten.

Data se namátkou dají mazat:

  • Ručně po jednom
  • Ručně pomocí Mass delete 
  • Automatizovaně (flow, job)
  • V konzoli
  • Data loadarem

Jak jsem psal, každý způsob smazání má svůj důvod. 

Chci smazat jeden záznam? Udělám to ručně, proč bych otevíral konzoli a psal query? 

Chci mazat nepotřebná (historická) data? Použiji schedulované flow či job.


Co dělat však v situaci kdy je potřeba smazat tisíce, případně i milióny záznamů. Například z důvodů dosažení data storage. Data Loader, ano opět.

V první řadě musí dojít k exportu dat, které chceme smazat (potřebujeme mít vstupní csv soubor pro mazání). Exportovací soubor potřebuje jen IDs záznamů, které chceme smazat. Proto v Data Loaderu vybereme jen pole ID a případně, pomocí query, vyselektujeme záznamy, které chceme stáhnout. 

Další akci je smazání, jako takové. Není to raketová věda. Vybrat akci Delete, vybrat objekt, vybrat soubor, napárovat Id na Id a spustit job.

Za předpokladu, že mažete miliony záznamů, Vás Salesforce upozorní na to, že chování systému může být ovlivněno a ještě něco s recycle binem. Nezbývá než vše potvrdit a pojďme na samotné mazání.

Rozběhne se standardní okno s progress barem kde můžeme sledovat průběh. Bohužel, nevím proč a je to škoda. Ale batch na delete je pouze 200. Není možné jej změnit, zvýšit (pokud se pletu, dejte vědět, budu rád!)

V případě mazání vyšších čísel (delší časová náročnost) se stane, že batch spadne nebo usne počítač a přeruší se spojení. No, jémine, to je šlamastika! Nicméně, pro mě byla novinka, že je možné batch znovu spustit z určitého řádku! 

Najdete to v Settings, jako poslední možnost seznamu. Díky za to a určitě doporučuji využívat.


Jak vidíte, proces je jednoduchý na provedení, jediným problémem může být délka trvání.