我正在将Dspace从3.5版迁移到6.2版,在此过程中,当flyway运行时,两个脚本崩溃了:
解决问题后,迁移工作正常。
当我启动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之间的问题,因为信息在数据库中。
答案 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;
再次迁移数据库