mateuszbieniek/ezplatform-database-health-checker

允许检查项目数据库以针对最常见的问题

v1.2.2 2022-01-20 11:07 UTC

This package is not auto-updated.

Last update: 2024-09-27 00:43:36 UTC


README

此插件允许您检查数据库以针对已知数据库损坏进行修复。您还可以对项目执行烟雾测试以确定所有内容是否可访问(忽略权限)。此外,您还可以清理由 ezplatform-page-fieldtype 插件留下的残留物。

支持的数据库损坏

  • 无版本的内容(通过删除损坏的内容进行修复)
  • 无属性的内容(通过删除损坏的内容进行修复)
  • 具有重复属性的重复内容(通过删除重复属性进行修复)
  • 与 Page FieldType 相关的无用记录,导致数据泛滥

使用方法

以下插件引入了两个命令: ezplatform:database-health-checkezplatform:page-fieldtype-cleanup

修复损坏将修改您的数据库!在运行这些命令之前,请始终执行数据库备份!

运行这些命令后,建议您 重新生成 URL 别名,清除持久性缓存并 重新索引

ezplatform:database-health-check

插件添加了 db-checker 站点访问,并将 cache_pool 设置为 NullAdapter,因此在烟雾测试期间从数据库检索内容时不会使用 SPI 缓存。如果发现损坏,您将被询问是否要修复它。

在删除之前,将检查所有内容的子项位置。如果存在子项,您将看到一个选项,可以将位置与其交换,以保留子项(在交换后,内容不会被删除,因此如果希望删除损坏的内容,则需要重新运行脚本)。

php -d memory_limit=-1 bin/console ezplatform:database-health-check --siteaccess=db-checker

请注意,命令可能需要很长时间才能运行(取决于项目大小)。您可以通过使用 --skip-smoke-test 选项跳过烟雾测试来加快速度。

ezplatform:page-fieldtype-cleanup

警告!此命令仅适用于平台的 Enterprise 版本。

此命令搜索数据库中的 ezpage_* 记录,这些记录是从 https://issues.ibexa.co/browse/EZEE-3430 留下的残留物,并在必要时删除它们,以防止数据库无序增长。

php -d memory_limit=-1 bin/console ezplatform:page-fieldtype-cleanup

安装

需求

此插件需要 eZ Platform 2.5+

1. 启用 EzPlatformDatabaseHealthCheckerBundle

编辑 app/AppKernel.php,并添加

$bundles[] = new MateuszBieniek\EzPlatformDatabaseHealthCheckerBundle\EzPlatformDatabaseHealthCheckerBundle();

dev 环境中捆绑列表的末尾。

2. 安装 mateuszbieniek/ezplatform-database-health-checker

composer require mateuszbieniek/ezplatform-database-health-checker