oddnoc/silverstripe-artefactcleaner

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

Installs: 17 106

Dependents: 2

Suggesters: 0

Security: 0

Stars: 12

Watchers: 3

Forks: 5

Open Issues: 1

Type:silverstripe-vendormodule

4.1.0 2023-09-15 20:42 UTC

This package is auto-updated.

Last update: 2024-03-15 21:44:53 UTC


README

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

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

composer require --dev oddnoc/silverstripe-artefactcleaner

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

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

  • 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

This package was inspired by silverstripe-dbplumber by smindel.

Version

4.1.0