Open svetlym opened 11 months ago
Jestli se nepletu, tak v kombinaci s https://github.com/ceskaexpedice/kramerius/issues/1030 by pak možná šlo variantu Smazat (nízkoúrovňově) úplně zrušit.
Jen pozor, aby toho nebylo smazáno víc, než chcete! Např.: Migruji nějak (nízkoúrovňově) čísla s jednoho objektu ročníku do jiného. Jak ten stav vznikl není úplně důležité, bavíme se o nestandardních situacích, kdy je ta struktura rozbitá. Takže mám třeba dva různé objekty moje-noviny-1852. Uklízím to s tím, že jeden nechám druhý smažu, ale všechna čísla přesunu do toho jednoho. Pokud ale udělám chybu a na vybrané číslo budou odkazovat obě verze ročníku, tak při pokusu o smazání:
Podobně pro slučování periodik. Taky by se mohlo stát, že není konzistence mezi soubory v úložišti (odkazy ve foxml objektech) a vazbami v processing indexu (databáze vazeb mezi objekty). Třeba že foxml objekt byl smazán, ale vazba je stále v processing indexu, nebo naopak. Tehdy mazací proces nemá jasno, jak to s těmi vazbami je.
Takže by to mohlo být potenciálně až moc silné a nenávratně smazat něco, co by tam zůstat mělo. I když pro tenhle konkrétní případ, pokud se odkazuje na skutečně neexistující objekty, by to asi smysl dávalo.
Při importu nevalidních dat, při reimportu pozměněnýho titulu bez předchozího odmazání toho původního nebo při ručním odmazávání objektů může dojít k tomu, že v úložišti zůstanou viset tituly, který se odkazujou na neexistující objekty. Aktuálně jsou v K7 dvě možnosti mazání:
• Smazat (chytře), která projde všechny podobjekty, ale při mazání takto nekonzistentního titulu skončí s chybou a nesmaže všechno, co může.
• Smazat (nízkoúrovňově), která smaže jeden konkrétní objekt nehledě na vazby.
Hodila by se proto ještě třetí varianta (nebo možná úprava tý první), která bude fungovat jako Smazat (chytře), ale smaže celej strom nehledě na chyby.