Skip to content

import/Migration fails on versionitem insert due to invalid date format #238

@Paurikova2

Description

@Paurikova2

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions