orbital-flight / craft-delete-assets
通过移除未使用的资源来释放空间!
Requires
- php: >=8.0.2
- craftcms/cms: ^4.3.5
Requires (Dev)
- craftcms/ecs: dev-main
- craftcms/phpstan: dev-main
README
通过移除未使用的资源来释放空间!
删除未使用资源是一个简单的插件,允许您通过一键删除所有未使用的资源来优化您的项目。
该插件会检测哪些资源仅在草稿或修订元素中使用,并提供了删除它们的选项。
该插件会检查关系表以确定资源是否被使用(相关联)。
此插件处于积极开发状态,并将包括即将到来的质量更新以及翻译。
分析
分析(也称为扫描)仅在插件部分启动*,因此即使项目中资源数量非常多,也不会影响您的项目性能。
当您访问插件页面时,将自动触发任何未分析的卷的扫描。插件还会检测自上次扫描以来特定卷中的资源数量是否已更改,这也会触发分析。
截至2.x版本,资产关系的变化不会自动检测(尚不支持),直到下一次分析才会显示。然而,这不会意外删除已使用的资源,因为任何清理过程都会从卷的新扫描开始。
您可以在插件设置中禁用自动扫描功能。
*请参阅以下“它会减慢我的项目吗?”
它会减慢我的项目吗?
该插件具有几个保护程序和例程,以确保其运行流畅。即使它会在您的卷中监视更改,该插件也会简单地将其标记为“过时”,以便稍后扫描(我们不希望在添加新资源时进行扫描)。
扫描仅从插件的专用部分运行,并且在没有您知道的情况下无法在其他地方进行。这些扫描可以手动启动,或者在卷标记为过时时自动触发。在后一种情况下,仅扫描过时的卷(您可以从插件设置中禁用自动扫描)。
唯一的例外是在您在新的卷中添加第一个资源时,在这种情况下,会执行微扫描以跟踪该卷。您仍然可以通过在插件设置中禁用自动扫描功能来避免此操作。
免责声明
该插件会检查关系表,因此它几乎在所有情况下都应该正常工作。
然而,尽管该插件已经在Craft、Craft Commerce和大多数典型Craft安装上进行了彻底测试,但它仍然涉及内容的硬删除,因此您应谨慎使用。
我们强烈建议您备份数据、资源和数据库,以防万一出现问题。
如果任何第三方插件或自定义代码使用您的卷中的资源,而未在Craft数据库中记录关系,您将*永久丢失它们。
此外,如果您要删除资源的卷与其他Craft安装(例如,一个测试安装与生产环境共享Amazon S3卷)共享,该插件将检查与从其中运行的项目关联的数据库中的关系。这意味着它可能会删除在其他安装(中)可能使用的资源。
要求
此插件需要Craft CMS 4.3.5或更高版本,以及PHP 8.0.2或更高版本。
安装
您可以从插件商店或使用Composer安装此插件。
从插件商店
转到项目控制面板中的插件商店,并搜索“删除未使用资源”。然后按“安装”。
使用Composer
打开您的终端并运行以下命令
# go to the project directory cd /path/to/my-project.test # tell Composer to load the plugin composer require orbital-flight/craft-delete-assets # tell Craft to install the plugin ./craft plugin/install delete-assets