nti/auto-delete-bundle
Automatically removes expired or stale records from your application, letting you schedule deletions and keep database tables clean without manual cleanup jobs.
The capability this package addresses — automatically deleting records once they exceed a retention window — maps to several recurring product decisions, even though the package itself is not a strong candidate for adoption:
Consider it only under a narrow set of conditions:
Prunable trait with model:prune, a scheduled console command, or database-native partitioning/TTL. These cost a few hours, are already in the framework's support envelope, and carry no third-party risk.Look elsewhere if any of the following are true: you need vendor support or an SLA; the data is regulated and requires an auditable, tested deletion path; you need retention rules configurable by non-engineers; you're on Laravel; or the maintainer cannot confirm ongoing maintenance in writing.
For executives: We have a retention obligation and a retention opportunity. The obligation is regulatory — data we no longer need should not be retained, and today we have policy but limited enforcement. The opportunity is cost — stale rows inflate storage, backups, and query times. The specific third-party package evaluated here is not the answer: it is a single-vendor Symfony bundle with no adoption, no dependents, and no maintenance signal, and it does not fit our Laravel stack. Recommendation is to implement a thin, first-party retention layer using Laravel's built-in pruning and scheduler, estimated at one to two engineer-days plus a legal review of the retention windows. This avoids an unmaintained dependency in a destructive code path and gives us an auditable, testable deletion mechanism we control.
For engineering: This is a small, well-understood piece of platform work, not a research project. Proposed shape: a Prunable model contract plus a scheduled model:prune run, retention windows expressed in configuration (not code) so legal can review them, dry-run and count-only modes for the first release, every deletion written to an append-only audit log, and hard-delete only after a soft-delete grace period. We should also confirm with legal that any records under a minimum-retention rule (invoices, tax, audit) are explicitly excluded from pruning rather than accidentally swept up. The evaluated package's deletion semantics — cascades, transactionality, logging — are undocumented and would need source review before we trusted it with production data, which is a cost we don't need to pay given the in-house alternative is this small.
How can I help you explore Laravel packages today?