- Can I use this package if my Laravel app already uses MongoDB as the primary database?
- Yes, this package is specifically designed for Laravel applications already using MongoDB. It replaces Telescope’s default SQL storage with a MongoDB driver, so you won’t need a secondary database like MySQL or PostgreSQL just for Telescope. The package handles all schema requirements automatically.
- How do I install and configure this package in my Laravel project?
- Install via Composer with `composer require webrek/laravel-telescope-mongodb`, then run `php artisan telescope-mongodb:install`. This command publishes Telescope’s assets, removes SQL migrations, creates necessary MongoDB indexes, and binds the driver. No additional configuration is required unless you’re migrating from SQL.
- Does this package support all Telescope features like requests, exceptions, and jobs?
- Yes, this package implements all Telescope’s core repository contracts (`EntriesRepository`, `ClearableRepository`, etc.) for MongoDB. It supports requests, exceptions, jobs, queries, notifications, and batches—just like the default SQL driver. The only difference is the underlying storage layer.
- Will this work with Laravel 10 or 11? What PHP versions are supported?
- This package requires PHP 8.1 or higher and is designed to work with the latest Laravel versions (10+). Always check the package’s documentation for the most up-to-date compatibility details, as Laravel Telescope itself may have version-specific requirements.
- Can I migrate existing Telescope data from MySQL or PostgreSQL to MongoDB?
- Yes, the package includes a migration command: `php artisan telescope-mongodb:migrate-from-sql --from=mysql` (or `--from=pgsql`). This copies your existing Telescope entries to MongoDB, but note that historical data cannot be migrated if you switch later—it’s a one-way process.
- Are there any performance concerns when using MongoDB for Telescope in production?
- MongoDB handles Telescope data efficiently, but performance depends on your setup. The package auto-creates indexes for common queries, but if you expect high-volume logs (millions of entries), benchmark filtering, sorting, and retention operations. MongoDB’s schema-less nature also simplifies future adjustments.
- What if I need to revert to SQL storage later? Is it easy to switch back?
- Reverting to SQL storage requires reinstalling Telescope’s default migrations and updating the `config/telescope.php` driver setting. While possible, this isn’t a seamless process—plan carefully if you anticipate future changes. Always back up your Telescope data before making such decisions.
- Does this package work with custom Telescope extensions or third-party plugins?
- The package preserves Telescope’s core functionality, but custom extensions (e.g., plugins for screenshots, custom log types) may require testing. If you rely on third-party plugins, verify their compatibility with the MongoDB driver, as some may assume SQL-specific features.
- What happens if the MongoDB driver fails? Can I fall back to SQL?
- If the MongoDB driver fails, you’ll lose Telescope functionality until the issue is resolved. There’s no automatic fallback to SQL—this package is a replacement, not a hybrid solution. Ensure your MongoDB setup is stable and monitor for errors, especially during critical deployments.
- Are there alternatives to this package for MongoDB-based Telescope storage?
- Currently, this is the only dedicated MongoDB storage driver for Laravel Telescope. If you’re hesitant due to adoption concerns, consider sticking with SQL or exploring custom solutions, but this package is the most straightforward way to integrate Telescope with MongoDB without reinventing the wheel.