-
Notifications
You must be signed in to change notification settings - Fork 4
Description
During the DSpace 5 → 7 migration, the process fails in _item.py at _migrate_versions() when inserting into versionitem.
The variable version_date_issued is None, causing psycopg2.errors.InvalidDatetimeFormat when executing
TO_TIMESTAMP('None', 'YYYY-MM-DD').
Select:
SELECT
i.item_id,
mv.text_value as date_issued_v5,
CASE
WHEN mv.text_value IS NULL THEN 'NO_DATE_ISSUED'
ELSE 'HAS_DATE_ISSUED'
END as status
FROM item i
LEFT JOIN metadatavalue mv ON i.item_id = mv.resource_id
AND mv.metadata_field_id IN (
SELECT metadata_field_id
FROM metadatafieldregistry
WHERE metadata_schema_id = 1
AND element = 'date'
AND qualifier = 'issued'
)
WHERE i.item_id IN (
SELECT DISTINCT mv2.resource_id
FROM metadatavalue mv2
JOIN metadatafieldregistry mfr2 ON mv2.metadata_field_id = mfr2.metadata_field_id
WHERE mfr2.metadata_schema_id = 1
AND mfr2.element = 'relation'
AND mfr2.qualifier IN ('replaces', 'isreplacedby')
)
ORDER BY i.item_id;
Answer:
The error occurs because some items in your DSpace 5 database don’t have the dc.date.issued metadata field, which is required during migration to create versioned items.
In the DSpace 7 user interface, this metadata field is also mandatory.
We have implemented a configuration option for setting the version date.
Please refer to the README section for instructions on how to use it: Version Date Fields Configuration