Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Soft Deleteable Extension Bundle Laravel Package

xcentric/soft-deleteable-extension-bundle

Xcentric SoftDeleteable Extension Bundle adds soft-delete support for Doctrine entities in Symfony, marking records as deleted instead of removing them and enabling filtered queries, restore, and permanent purge workflows.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Data lifecycle & retention features. Cascade soft-delete is the mechanism behind "delete this account/project/tenant" flows where parents and children must disappear from the UI together while remaining recoverable and auditable. It directly supports trash/restore UX, admin bulk-delete, and archival features.
  • Compliance-adjacent roadmap items. Retention policies, "right to be forgotten" workflows, and audit-log integrity all hinge on knowing that deleting an aggregate root leaves no orphaned active children. This package addresses that specific gap in Gedmo's SoftDeleteable behavior.
  • Build vs. buy vs. borrow. This is a small listener extension, not a platform. The real decision is not "adopt this package" but "vendor this pattern or reimplement it in a day." The code is the deliverable; the package is incidental.
  • Architecture standardization. If the org has standardized on Doctrine + Gedmo SoftDeleteableListener, a cascade extension becomes a shared convention across teams — a reusable rule ("soft-delete always cascades to owned aggregates") rather than a per-feature decision.
  • Use cases where it fits: multi-tenant cleanup, admin consoles, aggregate-root deletion (Order → OrderLines, Project → Tasks), and staged deletion pipelines where a background job later hard-deletes after a retention window.

When to Consider This Package

Consider it only if all of the following hold:

  • You are on Symfony with Doctrine ORM, not Laravel. Despite the "Laravel/PHP package" framing, this is a Symfony bundle wrapping Gedmo DoctrineExtensions — it is inapplicable to Eloquent-based Laravel applications, which have their own soft-delete semantics and would need a different approach entirely.
  • You already use Gedmo SoftDeleteableListener and have hit the missing-cascade limitation in production.
  • You need per-association cascade control (cascade on some relations, not all) that a naive onFlush listener wouldn't cleanly give you.
  • You are willing to vendor the code, pin it, and write your own test coverage.

Look elsewhere when:

  • Laravel/Eloquent — this package does nothing for you. Use Eloquent's SoftDeletes with explicit cascade handling in model events or a dedicated observer.
  • Community validation matters. Zero stars, zero dependents, no releases, and an unclear maintainer are hard signals. This is not a dependency to take casually into a production supply chain.
  • Provenance is unclear. It is explicitly "adjusted from E-vence/SoftDeleteableListenerExtensionBundle" — an unmaintained fork of a fork. Audit the full diff before trusting it.
  • You need true erasure. Soft-delete cascades preserve rows; GDPR/CCPA hard-erasure obligations require a separate purge job and database-level ON DELETE CASCADE or explicit deletion orchestration.
  • You can solve it in-house. A custom onFlush event subscriber that walks associations and issues soft-delete updates is roughly a day of work and gives you ownership, tests, and no third-party risk. For most teams, this is the correct path.
  • You want a maintained home. Prefer stof/doctrine-extensions-bundle for Gedmo wiring plus your own cascade layer, rather than an unknown single-purpose bundle.

How to Pitch It (Stakeholders)

For executives (one paragraph): This is a small open-source component that closes a known gap in how our application "deletes" records — it makes deletion cascade to related records while keeping everything recoverable for audit and compliance. The capability is valuable for retention and restore features on our roadmap. The package itself, however, has no adoption, no community behind it, and is a lightly-adjusted fork of another unmaintained project, so I do not recommend taking it as a production dependency. Instead, I recommend budgeting roughly one engineer-day to adopt the pattern in-house (or vendor the code with tests and a pinned commit). That gives us the compliance-enabling behavior at negligible cost and without supply-chain exposure.

For engineering (summary): It's a Symfony bundle that extends Gedmo's SoftDeleteableListener to cascade soft-deletes across Doctrine associations — the thing SoftDeleteable famously doesn't do out of the box. Implementation is small and readable. Recommendation: do not depend on the GitLab package directly (0 stars, 0 dependents, forked provenance, no visible tests or docs). Either (a) copy the listener into our codebase behind our own namespace with unit tests covering association graphs, cycles, and onFlush ordering, or (b) reimplement with a Symfony onFlush subscriber we control. Either way, pair it with a scheduled hard-delete/purge job for retention windows, and add integration tests that assert no active children survive a parent delete.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource