vizrex/laravel-db-utils
Laravel package providing Artisan CLI utilities for database operations (backup, restore, create). Includes configurable defaults, optional upload of backup files to Dropbox or Google Drive via filesystem disks, and uses MySQL connection settings from your Laravel config.
Pros:
.env and config/ system, ensuring consistency across dev/staging/prod..env backups before updates mitigate configuration drift risks.Cons:
Laravel Compatibility:
laravel-dotenv-editor).mysqldump installed on the server (used under the hood).config/filesystems.php.vendor:publish commands if dbutils.php conflicts with other packages..env backup/restore could interfere with tools like Laravel Envoy or custom deployment scripts.Database Compatibility:
database.php for connection details (e.g., mysql.database, mysql.username).Tooling Dependencies:
mysqldump for backups, adding a system-level dependency.Critical Risks:
.env updates during db:create could leak credentials if not properly secured (e.g., no secrets manager).Moderate Risks:
dbutils.php, .env, and filesystem drivers, increasing onboarding time.Low Risks:
php artisan db:backup) are straightforward.Database Strategy:
Security and Compliance:
.env or a secrets manager?Reliability and Monitoring:
Operational Workflow:
Alternatives Evaluation:
mysqldump + Laravel’s filesystem for more control.Cloud Storage:
Team Readiness:
Ideal Use Cases:
users or payments tables for PII).Poor Fit:
Assessment Phase:
mysqldump, custom scripts, or third-party tools).mysqldump, PHP version, Laravel version).Pilot Integration:
php artisan vendor:publish --provider='Vizrex\LaravelDbUtils\LaravelDbUtilsProvider'.config/dbutils.php with default paths, compression, and upload settings..env and config/filesystems.php:
'dropbox' => [
'driver' => 'dropbox',
'token' => env('DROPBOX_TOKEN'),
],
'google' => [
'driver' => 'google',
'clientId' => env('GOOGLE_DRIVE_CLIENT_ID'),
// ... other credentials
],
php artisan db:backup and verify backups are created locally and uploaded to cloud storage.How can I help you explore Laravel packages today?