antihero/mount-last-db-bundle
.gz dump into a local database (e.g., for staging/test environments).spatie/laravel-symfony).league/flysystem (compatible with Laravel’s spatie/flysystem).doctrine/dbal for SQL execution).artisan CLI)..gz dump from SMB/SFTP (requires credentials/config).php-gd/zlib).bind() or facade wrappers.config/packages → Laravel’s config/mountlast.php (manual mapping).MountLastEvents::DUMP_MOUNTED) → Laravel’s events system can listen.league/flysystem, doctrine/dbal, symfony/console.flysystem with spatie/flysystem.DB facade or doctrine/dbal adapter for SQL execution.| Risk Area | Severity | Mitigation |
|---|---|---|
| Symfony-Laravel Abstraction | Medium | Wrap bundle logic in Laravel commands/services; test with spatie/laravel-symfony. |
| Remote File Handling | High | Validate SMB/SFTP credentials/config in CI; mock remote calls in tests. |
| Database Compatibility | Medium | Test with target DB (e.g., MySQL 8.0, PostgreSQL 15) before production. |
| Performance | Low | Benchmark dump sizes >1GB; consider chunked SQL execution for large DBs. |
| Security | High | Restrict SMB/SFTP credentials to environment variables; audit SQL injection risks. |
| Error Handling | Medium | Extend bundle’s exception classes or create Laravel-specific error handlers. |
.env vs. Symfony’s parameters.yml)?php artisan mountlast:mount) or via cron?| Bundle Feature | Laravel Equivalent/Integration Path |
|---|---|
| Symfony Commands | Laravel Artisan commands (extend Illuminate\Console\Command). |
| Flysystem (SMB/SFTP) | spatie/flysystem (drop-in replacement). |
| Doctrine DBAL | Laravel’s DB facade or doctrine/dbal adapter. |
| Event System | Laravel’s Event facade or symfony/event-dispatcher. |
| Configuration | Convert Symfony’s YAML to Laravel’s PHP/ENV vars. |
spatie/flysystem-sftp/spatie/flysystem-smb (if not using league/flysystem).laravel/scout (if indexing mounted data).spatie/laravel-backup (for complementary backup workflows).Phase 1: Proof of Concept (1–2 weeks)
"antihero/mount-last-db-bundle": "dev-main").MountLastCommand.artisan mountlast:mount command.Phase 2: Remote Integration (1 week)
flysystem adapter for remote storage..env.Phase 3: Productionization (1–2 weeks)
App\Console\Kernel).monolog).Mockery).ContainerInterface → Laravel’s Illuminate\Container\Container.EventDispatcher → Laravel’s Illuminate\Events\Dispatcher.ENGINE=InnoDB vs. PostgreSQL’s UUID types).DB::connection()->getDoctrineSchemaManager() for schema validation.antihero/mount-last-db-bundle for Symfony version bumps.league/flysystem and doctrine/dbal versions to avoid breaking changes.composer why-not to check for version conflicts..env.config/mountlast.php structure).--verbose flag in commands).tinker to inspect bundle services (if container-bound).How can I help you explore Laravel packages today?