greabock/tentacles
Laravel package for hierarchical data: add a tree trait to Eloquent models to manage nested sets, with helpers for ancestors, descendants, siblings, moving nodes, and rebuilding trees. A lightweight fit for categories, menus, and threaded comments.
tenant_id vs. database-per-tenant). Tentacles is a Laravel 5-era helper for the latter: it registers extra database connections and switches the default connection per request (typically by subdomain), and gives you tenant-scoped migration/seeder commands. Adopting or rejecting it is really a decision about whether tenant isolation is a product requirement (contractual data separation, per-customer restore, noisy-neighbour control) or just a nice-to-have.DROP DATABASE rather than a multi-table purge. That can justify a pricing tier and a sales motion.Consider it only when all of the following hold:
Look elsewhere — or build it — when any of these are true:
stancl/tenancy or spatie/laravel-multitenancy first, or hand-roll connection switching on top of Laravel's native config(['database.default' => ...]) and DB::purge().The practical recommendation: do not adopt for new work. If it is already in production, pin the version, isolate it behind your own small tenant-resolution interface, and budget an exit.
To executives: Frame it as a risk, not an opportunity. This package would let us give each customer their own database — a real selling point for larger accounts — but it is a small, single-maintainer, unmaintained open-source component last updated in 2017. The capability is worth having; this specific implementation is not worth betting the platform on. Recommendation: if dedicated-database tenancy is on the roadmap, budget one to two weeks of engineering for a maintained package or an in-house implementation, rather than taking on a dependency that will fail a security review and block our Laravel upgrade path.
To engineering: It is a thin Laravel 5-era layer for registering per-tenant DB connections, resolving the current tenant per request (subdomain-style), and running tenant-scoped migrations. The value is small and reproducible; the cost is an orphaned dependency with an unknown compatibility surface against modern Laravel/PHP and likely gaps in queue/console contexts. Run a one-day spike if anyone wants proof, but default to stancl/tenancy, spatie/laravel-multitenancy, or a ~300-line in-house resolver behind our own interface. If it is already in the codebase, wrap it, pin it, and put a removal ticket on the roadmap.
How can I help you explore Laravel packages today?