Closed jermnelson closed 10 months ago
@jermnelson Have you tried using the field concatenation approach for this?
eg (in holdings field map):
{ "folio_field": "legacyIdentifier", "legacy_field": "CATKEY", … }, { "folio_field": "legacyIdentifier", "legacy_field": "BASE_CALL_NUMBER", … }
(in item field map):
{ "folio_field": "holdingsId", "legacy_field": "CATKEY", … }, { "folio_field": "holdingsId", "legacy_field": "BASE_CALL_NUMBER", … }
This should concatenate the contents of those fields (with a " ") into the legacyIdentifer/holdingsId values, respectively.
@bltravis, thanks for the suggestion! We eventually ended up going with a similar approach in our holdings mapping file by concatenating the CATKEY
, 'CALL_SEQ, and
COPY` columns.
We did find in order for the item field map to work properly we had to also map these fields to the formerId[0] in the holdings field map for the holding_id_map.json file to correctly map these fields for the Item transformer due to this implicated code: https://github.com/FOLIO-FSE/folio_migration_tools/blob/6ae0a3d1518d6f810c74bfa101939d289d5efea0/src/folio_migration_tools/migration_tasks/holdings_csv_transformer.py#L234-L241
Maybe this should be "legacyIdentifier
instead of formerIds
on line 235?
I remember that I moved to the formerIds field for some reason, but I cannot recall why. @bltravis we discussed this in another context as well recently, did we not?
Since this is the tool behaving as-expected, I'm going to close this as wont-fix.
In a recent migration, one of our analysts discovered an error involving the correct Holdings being mapped to its items. We are using the
HoldingsCsvTransformer
transformer (with HRID handling set to default using the defaultholdings_merge_criteria
of "instanceId", "permanentLocationid", and "callNumber").From our incoming tsv_file (the CATKEY is the legacy_code we match from the MARC 21 bib file):
The
HoldingsCsvTransformer
produces the following two Holdings records that we would expect with the default merge criteria:However the UUID for both records are the same!
This is causing an issue later with items like the following:
should be matched to first holding record but not the second.