PHPackages                             sunnysideup/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. sunnysideup/silverstripe-artefactcleaner

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

sunnysideup/silverstripe-artefactcleaner
========================================

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

4.0.2(4y ago)023↓50%MITPHP

Since Oct 17Pushed 1mo agoCompare

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

READMEChangelogDependencies (1)Versions (16)Used By (0)

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

41

—

FairBetter than 87% of packages

Maintenance61

Regular maintenance activity

Popularity10

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity71

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 ~416 days

Recently: every ~633 days

Total

12

Last Release

43d 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

4.x-dev → 5.x-dev2026-04-27

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/167154?v=4)[Sunny Side Up](/maintainers/sunnysideup)[@sunnysideup](https://github.com/sunnysideup)

---

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 (2 commits)")

---

Tags

frameworkutilitydatabasesilverstripe

### Embed Badge

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

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

###  Alternatives

[silverstripe/cms

The SilverStripe Content Management System

5243.5M1.3k](/packages/silverstripe-cms)[oddnoc/silverstripe-artefactcleaner

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

1419.1k4](/packages/oddnoc-silverstripe-artefactcleaner)[axllent/silverstripe-version-truncator

Automatically delete old versioned Silverstripe records from the database

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

SilverStripe framework extension for Behat

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

PHPackages © 2026

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