andanteproject/soft-deletable-bundle
doctrine/orm or laravel-doctrine). However, Laravel’s native Eloquent ORM is the primary choice, so integration would require abstraction layers (e.g., a custom Doctrine bridge or hybrid ORM approach).deleted_at timestamp), which aligns with Laravel’s built-in SoftDeletes trait. This reduces conceptual friction for teams familiar with Laravel’s approach.laravel-doctrine/orm).deleted_at column, which must be backward-compatible with existing Laravel migrations. Tools like laravel-migrations-generator or custom Doctrine migrations would be needed.deleted_at updates may require refactoring.WHERE deleted_at IS NULL clause to all queries, which could impact:
Model::all() becomes slower).deleted_at column be added to existing tables without downtime?deleted_at) be sufficient, or are partitioning strategies needed for large tables?Model::restore())? The bundle lacks explicit restore methods.SoftDeletes trait (lower risk, no integration overhead).| Component | Compatible? | Notes |
|---|---|---|
| Laravel Eloquent | ❌ No | ORM mismatch; requires abstraction. |
| Doctrine ORM | ✅ Yes | Direct integration possible. |
| Laravel Migrations | ⚠️ Partial | Manual schema updates needed. |
| Query Builder | ⚠️ Partial | Filter must be replicated or bypassed. |
| API Resources | ✅ Yes | Works if entities are Doctrine-based. |
Model::destroy(), custom delete methods).deleted_at column: Use a Doctrine migration or Laravel’s Schema::table().SoftDeletableInterface: Test with one entity (e.g., Article).deleted_at for existing records (if needed).entityManager->remove().SoftDeletableFilter to Doctrine’s config/packages/doctrine.yaml (if using Symfony’s config structure).SoftDeletes trait or a shared interface (e.g., SoftDeletable).laravel-doctrine/orm uses Doctrine 2.10+).HttpKernel only for Doctrine-related services.andanteproject/soft-deletable-bundle via Composer.laravel-doctrine/orm).deleted_at columns (prioritize low-traffic tables).SoftDeletableInterface and SoftDeletableTrait for target entities.entityManager->remove().SoftDeletableFilter globally (or per-entity).setDeletedAt(null) + flush).EXPLAIN on filtered queries).SoftDeletableFilter may require deep knowledge of Doctrine’s event system.Column 'deleted_at' not found can occur if migrations are out of sync.deleted_at).preRemove).Doctrine\DBAL\Tools\Dumper to inspect schema.How can I help you explore Laravel packages today?