PHPackages                             oddnoc/silverstripe-artefactcleaner - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. oddnoc/silverstripe-artefactcleaner

ActiveSilverstripe-vendormodule[Framework](/categories/framework)

oddnoc/silverstripe-artefactcleaner
===================================

Find and optionally delete unused tables, columns and indexes in a SilverStripe database

4.1.0(2y ago)1419.0k—0%5[2 issues](https://github.com/oddnoc/silverstripe-artefactcleaner/issues)3MITPHP

Since Oct 17Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/oddnoc/silverstripe-artefactcleaner)[ Packagist](https://packagist.org/packages/oddnoc/silverstripe-artefactcleaner)[ Docs](https://github.com/oddnoc/silverstripe-artefactcleaner)[ RSS](/packages/oddnoc-silverstripe-artefactcleaner/feed)WikiDiscussions develop Synced 1mo ago

READMEChangelogDependencies (2)Versions (13)Used By (3)

Silverstripe Database Artefact Cleaner
======================================

[](#silverstripe-database-artefact-cleaner)

The Silverstripe Database Artefact Cleaner identifies and offers the option to remove unused tables, columns, and indexes in a Silverstripe database.

Over time, as the database schema evolves, Silverstripe's schema management tools may leave behind obsolete tables, columns, and indexes. This package assists developers by displaying these unnecessary artefacts and provides the option to delete them, ensuring a cleaner and optimized database.

Installation
------------

[](#installation)

To install the Artefact Cleaner, use the following composer command:

```
composer require --dev oddnoc/silverstripe-artefactcleaner
```

Usage
-----

[](#usage)

You can run the cleaner task using either the command line or directly through the browser. For MariaDB users (version 10+), the `ifexists=1` option can be added to prevent errors if the targeted column or index doesn't exist during the `dropping=1` operation.

### Command Line

[](#command-line)

```
vendor/bin/sake dev/tasks/ArtefactCleanTask
vendor/bin/sake dev/tasks/ArtefactCleanTask dropping=1
vendor/bin/sake dev/tasks/ArtefactCleanTask dropping=1 ifexists=1
```

### Browser

[](#browser)

- `https://example.org/dev/tasks/ArtefactCleanTask`
- `https://example.org/dev/tasks/ArtefactCleanTask?ifexists=1`
- `https://example.org/dev/tasks/ArtefactCleanTask?dropping=1`
- `https://example.org/dev/tasks/ArtefactCleanTask?dropping=1&ifexists=1`

Acknowledgements
----------------

[](#acknowledgements)

This package was inspired by [silverstripe-dbplumber](https://github.com/smindel/silverstripe-dbplumber) by smindel.

Version
-------

[](#version)

4.1.0

###  Health Score

48

—

FairBetter than 94% of packages

Maintenance56

Moderate activity, may be stable

Popularity33

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity70

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~362 days

Recently: every ~463 days

Total

11

Last Release

970d ago

Major Versions

1.0.3 → 2.0.02015-12-18

2.1.0 → 3.0.02016-07-01

3.0.1 → 4.0.02019-05-21

### Community

Maintainers

![](https://www.gravatar.com/avatar/b76b66ab5945b678e8fd9d75b48af1d002f4e0f3c95c6092f86ba61eee792bfe?d=identicon)[odnoc](/maintainers/odnoc)

---

Top Contributors

[![oddnoc](https://avatars.githubusercontent.com/u/568583?v=4)](https://github.com/oddnoc "oddnoc (11 commits)")[![jmfederico](https://avatars.githubusercontent.com/u/237977?v=4)](https://github.com/jmfederico "jmfederico (9 commits)")[![JZubero](https://avatars.githubusercontent.com/u/13751426?v=4)](https://github.com/JZubero "JZubero (2 commits)")[![sunnysideup](https://avatars.githubusercontent.com/u/167154?v=4)](https://github.com/sunnysideup "sunnysideup (1 commits)")

---

Tags

frameworkutilitydatabasesilverstripeobsolete

###  Code Quality

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/oddnoc-silverstripe-artefactcleaner/health.svg)

```
[![Health](https://phpackages.com/badges/oddnoc-silverstripe-artefactcleaner/health.svg)](https://phpackages.com/packages/oddnoc-silverstripe-artefactcleaner)
```

###  Alternatives

[silverstripe/cms

The SilverStripe Content Management System

5163.4M1.3k](/packages/silverstripe-cms)[axllent/silverstripe-version-truncator

Automatically delete old versioned Silverstripe records from the database

3673.1k3](/packages/axllent-silverstripe-version-truncator)[silverstripe/behat-extension

SilverStripe framework extension for Behat

32564.2k5](/packages/silverstripe-behat-extension)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
