Page History
...
- For upgrade instructions for 4.x to 4.1, please see Upgrading From 4.0 to 4.x.
If you're affected by DS-1536, DSpace 4.1 fixes it, but you still need to fix the incorrect metadata generated by DSpace 4.0. To do so, execute the following SQL against the DSpace database. Replace XXXXX with your handle prefix before the dot; e.g. if your prefix is "10123.1", replace "XXXXX" with "10123".
Warning The following code is believed to work (for Postgres), but hasn't been tested on an affected instance. Make sure to have a proper database backup before trying it and to verify whether it fixed the problem before moving on.
Code Block language sql title for PostgreSQL - List the affected items and metadata values: SELECT handle, text_value AS current, 'http://hdl.handle.net/'||handle as fixed FROM metadatavalue, metadatafieldregistry, handle WHERE text_value = 'http://hdl.handle.net/XXXXX' AND metadatafieldregistry.metadata_field_id = metadatavalue.metadata_field_id AND metadatafieldregistry.element = 'identifier' AND metadatafieldregistry.qualifier = 'uri' AND handle.resource_type_id = 2 AND handle.resource_id = metadatavalue.item_id;
Code Block language sql title for Oracle - List the affected items and metadata values: SELECT handle, text_value, 'http://hdl.handle.net/'||handle AS fixed FROM metadatavalue, metadatafieldregistry, handle WHERE to_char(text_value) = 'http://hdl.handle.net/XXXXX'; AND metadatafieldregistry.metadata_field_id = metadatavalue.metadata_field_id AND metadatafieldregistry.element = 'identifier' AND metadatafieldregistry.qualifier = 'uri' AND handle.resource_type_id = 2 AND handle.resource_id = metadatavalue.item_id;
Code Block language sql title for PostgreSQL - Fix the affected items: UPDATE metadatavalue SET text_value = 'http://hdl.handle.net/'||handle FROM metadatafieldregistry, handle WHERE text_value = 'http://hdl.handle.net/XXXXX' AND metadatafieldregistry.metadata_field_id = metadatavalue.metadata_field_id AND metadatafieldregistry.element = 'identifier' AND metadatafieldregistry.qualifier = 'uri' AND handle.resource_type_id = 2 AND handle.resource_id = metadatavalue.item_id;
Code Block SELECT 'UPDATE metadatavalue SET text_value = ''http://hdl.handle.net/'||handle||''' WHERE metadatavalue.metadata_field_id = '||metadata_field_id FROM metadatavalue JOIN metadatafieldregistry USING(metadata_field_id) JOIN handle ON handle.resource_id = metadatavalue.item_id WHERE metadatafieldregistry.element = 'identifier' AND metadatafieldregistry.qualifier = 'uri' AND handle.resource_type_id = 2 AND to_char(text_value) = 'http://hdl.handle.net/XXXXX' ; /* NOTE, you'll need to run this code in two stages: in SQL Developer, first run the above query, then cut/paste the results back into a new query, and run that query */language sql title for Oracle - Fix the affected items: This is covered by upgrading instructions linked above.
- If you are upgrading from 3.x to 4.1, please see Upgrading From 3.x to 4.x.
- For general upgrade instructions, please see Upgrading a DSpace Installation
...
Overview
Content Tools