digital-guard / preserv-BR

Digital Preservation of Brazilian metadata of donated maps.
http://git.digital-guard.org/preserv-BR
3 stars 1 forks source link

make to_donated_packcomponent #93

Closed crebollobr closed 2 years ago

crebollobr commented 2 years ago

O comando to_donated_packcomponent usa valores chaves que não podem ser repetidos, mas como cada um usa o seu próprio ingest?? esse caso vai se repetir.

Então devemos mudar o nosso procedimento de trabalho, usando um ingest geral. O problema é que recriamos ele com frequência
ou alterar o código do to_donated_packcomponent

carlos@addressforall:/var/gits/_dg/preserv/src$ make to_donated_packcomponent pg_db=ingest20 pg_datalake=dl03t_main
--- DUMP ingest.donated_packcomponent to /tmp/pg_io/dump_component_ingest20.sql ---
pg_dump --inserts -t ingest.donated_packcomponent postgres://postgres@localhost/ingest20 > /tmp/pg_io/dump_component_ingest20.sql
--- Preparing /tmp/pg_io/dump_component_ingest20.sql ---
bash to_donated_packcomponent.bash /tmp/pg_io/dump_component_ingest20.sql
--- INSERT /tmp/pg_io/dump_component_ingest20.sql INTO dl03t_main optim.donated_PackComponent_not_approved ---
grep "INSERT INTO" /tmp/pg_io/dump_component_ingest20.sql | psql postgres://postgres@localhost/dl03t_main
INSERT 0 1
ERROR:  duplicate key value violates unique constraint "donated_packcomponent_not_approved_pkey"
DETAIL:  Key (id)=(1) already exists.
ERROR:  duplicate key value violates unique constraint "donated_packcomponent_not_approved_pkey"
DETAIL:  Key (id)=(2) already exists.
--- See optim.donated_PackComponent_not_approved in dl03t_main ---
crebollobr commented 2 years ago

Compõe a #80

0e1 commented 2 years ago

O commit https://github.com/digital-guard/preserv/commit/720602c768fab846f3d6999f0a76ce8637996615 busca resolver essa situação, desconsiderando o id vindo da ingest e usando em optim.donated_PackComponent_not_approved um id bigserial.

Não é necessário nenhuma alteração na base ingest para passar a usar a alteração feita nesse commit.

Reportar se ainda sim encontrar problemas.