orchestra/database
Orchestra Database extends Laravel’s database layer for Orchestra Platform, providing helpers and integration for connections, schema, migrations, and query features. Useful for building and maintaining app data structures consistently across Orchestra-based projects.
CachableQueryServiceProvider and SearchServiceProvider allow for modular enhancements (e.g., caching query results, adding search capabilities) without bloating the core database layer.composer require and service provider registration.MigrationServiceProvider) are handled gracefully, with clear upgrade paths documented.remember, rememberForever) interact with Laravel’s query builder caching (e.g., DB::enableQueryLog)?CacheDecorator can reduce database load (e.g., pluck()/lists() caching).pluck() calls).composer require orchestra/database
config/app.php:
Orchestra\Database\ConsoleServiceProvider::class,
Orchestra\Database\CachableQueryServiceProvider::class,
Orchestra\Database\SearchServiceProvider::class,
use Orchestra\Database\CachableQueryServiceProvider;
MigrationServiceProvider → Laravel’s native).fresh, refresh) for edge cases.CacheDecorator for non-critical queries.remember()/rememberForever() in staging.orchestra/database to a specific version in composer.json to avoid unintended updates.doctrine/dbal).SearchServiceProvider configuration.CacheDecorator can reduce DB load by 50–90% for cached queries (benchmark required).Model::saved()).remember() is overused for volatile data.| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Cache driver failure (e.g., Redis down) | Fallback to DB queries (v3.8.4 fix), but performance degradation. | Implement circuit breakers for cache calls. |
| Laravel version mismatch | Package may break undetected. | Use laravel/framework version constraints in composer.json. |
| Stale cached queries | Inconsistent data. | Add cache:forget calls on data updates. |
| Migration command conflicts | CI/CD pipeline failures. | Test migration commands in isolation. |
remember()) requires <1 hour.SearchServiceProvider) may need 1–2 days of exploration.How can I help you explore Laravel packages today?