mateuszbieniek / ezplatform-database-health-checker
允许检查项目数据库以针对最常见的问题
Requires
- php: >=7.1
- ezsystems/ezpublish-kernel: ^7.5
Requires (Dev)
- friendsofphp/php-cs-fixer: 2.7.*
- phpunit/phpunit: ~7.0
This package is not auto-updated.
Last update: 2024-09-27 00:43:36 UTC
README
此插件允许您检查数据库以针对已知数据库损坏进行修复。您还可以对项目执行烟雾测试以确定所有内容是否可访问(忽略权限)。此外,您还可以清理由 ezplatform-page-fieldtype
插件留下的残留物。
支持的数据库损坏
- 无版本的内容(通过删除损坏的内容进行修复)
- 无属性的内容(通过删除损坏的内容进行修复)
- 具有重复属性的重复内容(通过删除重复属性进行修复)
- 与 Page FieldType 相关的无用记录,导致数据泛滥
使用方法
以下插件引入了两个命令: ezplatform:database-health-check
和 ezplatform: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