我有一个 Liferay 门户,配置为使用 jackrabbit 的文件系统持久性。

看来这种持久化模式会在 文件系统 (到目前为止大约 113'000),我正在慢慢达到服务器的文件计数配额。

然后我想切换到 数据库 坚持。我知道怎么做 配置它我不知道如何迁移现有内容.

导出和导入各种库(文档、图像等)听起来工作量很大,而且很容易出错,特别是因为它是多宿主部署。另外,我不知道它是否会为文档重新创建完全相同的 URL,这对我来说很重要。


简短更新:

我成功升级到 Liferay 6。然而,无法将 Liferay 内的长耳大野兔数据从文件系统迁移到数据库;数据迁移面板提供的是从 jcr 钩子迁移到另一个持久性钩子。

我最初的问题不是将数据存储在数据库中,而是减少文件系统上的文件数量(配额限制)。然后我切换到 FileSystemHook.

这是文件计数(find . | wc -l).

  • JCR钩子:107566
  • 文件系统挂钩:2810.

不知道为什么 Jackrabbit 创建这么多文件......

有帮助吗?

解决方案

在 Liferay 6 中,门户管理中有一个新的专用页面,旨在促进此类迁移。您必须以管理员身份登录(如果您的服务器中有多个门户实例,则为 omniadmin)并转到控制面板。在“服务器管理”面板中,单击“数据迁移”菜单,您将被要求从文件系统迁移到数据库。

看来您还没有使用 Liferay 6(Glassfish WebSpace Server 是 Liferay 5.2),因此有几个选项:

  • 将门户本身从 5.x 升级到 6.0.5,如中所述 Liferay 维基 并使用迁移页面。
  • 保留您的版本,并受 Liferay 版本 6 中提供的类的启发创建专用类
  • 导出社区页面(Liferay ARchive),创建具有数据库持久性的新门户并导入页面及其内容。

迁移将是我的选择,要么使用整个门户(但很可能它不在您的路线图上),要么使用临时迁移类。

阿尔诺

其他提示

有多种迁移方法,其中大多数都记录在 长耳大野兔维基:

导出到 XML 可能不适用于大型存储库,因为它使用太多内存(您需要尝试)。我从未使用过其他迁移工具,因此无法对其进行评论。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top