Closed Najiva closed 3 months ago
@motyc Tady prosím o specifikaci, jak bude vypadat struktura souborů v úložišti a jak soubor v úložišti dohledat na základě údajů v tabulce.
Úložiště bude ploché (jedna složka na síti) a soubory můžeme na vstupu pojmenovat např. podle primárního klíče (id; tj. např. 123.pdf
), ať je to co nejjednodušší. Dataset se bude muset ručně připravit na základě původních dat, takže to bude nejlepší cesta. Původní (správný název) bude v poli "nazev" v DB.
@motyc Odhad pracnosti: 12 hodin
@pesikj Díky, klidně s tím začněte.
Pro ukládání souborů je možno použít složku /opt/data-migrace přístupnou uživateli amcr.
@vojtakus Potvrzuji, že složku vidím a jde do ní nahrávat data. Děkuju.
@pesikj Prosím o popis toho postupu. Zítra bych případně migraci rád zkusil.
@motyc Dokumentace je v #1851.
V principu to funguje, narazil jsem jen na následující drobné chyby:
save_files_from_storage
iteruje v rámci rozsahu, ale nekontroluje, zda nějaké id v DB nechybí. Tím pádem to spadne na prvním souboru v rámci dané řady, kde někdy v historii došlo ke smazání souboru. Je třeba doplnit kontrolu, zda soubor s daným id je v DB a pokud ne, posunout iteraci o číslo výše.ebucore: hasMimeType
(viz https://fedora-test.aiscr.cz/rest/AMCR/record/M-DP-201500023/file/ccd5524c-b52d-4e9b-872e-3916385fcf1b/orig/fcr:metadata).
Snad poslední drobnost:
soubor.id
, ale podle pole soubor.nazev
(jestli jsem to dobře vypozoroval); to je nešikovné kvůli případným chybám, kdy sekvence někde zastaví a bude náročné správně nastavit pokračování od zvoleného záznamu - upravit tak, aby iterovalo vzestupně přes id@pesikj @vojtakus Nevím proč, ale najednou systém na .30 nevidí složku "/vol/data-migrace". Nevíte někdo, čím to může být? Nezměnilo se něco?
Já nevím, ale spustil jsem znovu skript prod_deploy.sh
a je to zpět.
@pesikj Ok, zkusím znovu...
V pořádku, zavírám
Je třeba napsat novou funkci pro migraci do Fedory (obdoba
DocumentGenerator.generate_metadata(*)
(vč. možnosti spustit pro konkrétní id a pro konkrétní počet záznamů), která bude vycházet z tabulkysoubor
. Ta by měla:rozsah
,mimetype
,path
,size_mb
asha_512
podle skutečných údajů načtených ze souboru