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)046↓66.7%MITPHP

Since Oct 17Pushed 2mo 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 3w 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

40

—

FairBetter than 86% of packages

Maintenance56

Moderate activity, may be stable

Popularity11

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

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

5253.6M1.4k](/packages/silverstripe-cms)[dnadesign/silverstripe-elemental

Elemental pagetype and collection of Elements

1101.1M315](/packages/dnadesign-silverstripe-elemental)[oddnoc/silverstripe-artefactcleaner

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

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

Automatically delete old versioned Silverstripe records from the database

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

SilverStripe framework extension for Behat

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

PHPackages © 2026

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