DSpace从3.5迁移到6.2

时间:2018-02-16 19:13:44

标签: solr dspace

我正在将Dspace从3.5版迁移到6.2版,在此过程中,当flyway运行时,两个脚本崩溃了:

  • V6.0_2016.04.04__DS-3086-OAI-性能-fix.sql
  • V6.0_2016.07.21__DS-2775.sql

解决问题后,迁移工作正常。

当我启动tomcat时,一切似乎都是正确的。除了下面的例外(对于所有资产商店,但文件夹是空的。因为非常大):

java.io.FileNotFoundException: /dspace/assetstore/62/34/68/62346815873316363781278191609234408121 (No such file or directory)
org.dspace.discovery.SolrServiceImpl @ Wrote Item: 123/2334 to Index

将显示JSPUI,其中包含我放在local.cfg中的名称并显示我的社区。但是错误的链接,例如:

所有社区都会重复此链接。

当我尝试使用正确的链接访问我的社区时,会显示以下消息:

  

标识符123/3与DSpace中的有效对象不对应。这个   可能是由于以下原因之一:

     

当前页面的网址不正确 - 如果您点击了链接   在DSpace之外,它可能输入错误或损坏。你进入了   表单中的ID无效 - 请再试一次。如果你遇到问题,   或者您希望ID能够正常工作,请随时联系该网站   管理员。

我已经尝试过重新索引,重新更新,恢复数据库,但我无法进步。

这似乎是Solr和Dspace之间的问题,因为信息在数据库中。

1 个答案:

答案 0 :(得分:0)

尝试更改为V6.0_2015.03.07__DS-2701_Hibernate_migration.sql

  

UPDATE句柄SET resource_id =(SELECT community.uuid FROM community   WHERE handle.resource_legacy_id = community.community_id AND   handle.resource_type_id = 4); UPDATE句柄SET resource_id =(SELECT   collection.uuid FROM集合WHERE handle.resource_legacy_id =   collection.collection_id AND handle.resource_type_id = 3); UPDATE   handle SET resource_id =(SELECT item.uuid FROM item WHERE   handle.resource_legacy_id = item.item_id AND handle.resource_type_id =   2);

  

UPDATE句柄SET resource_id =(SELECT community.uuid FROM community   WHERE handle.resource_legacy_id = community.community_id AND   handle.resource_type_id = 4)其中handle.resource_type_id = 4; UPDATE   handle SET resource_id =(SELECT collection.uuid FROM collection WHERE   handle.resource_legacy_id = collection.collection_id AND   handle.resource_type_id = 3)其中handle.resource_type_id = 3; UPDATE   handle SET resource_id =(SELECT item.uuid FROM item WHERE   handle.resource_legacy_id = item.item_id AND handle.resource_type_id =   2)其中handle.resource_type_id = 2;

再次迁移数据库