laravel-dev-snapshot maintained by sagar-s-bhedodkar
🧱 Laravel Dev Snapshot
Automate Laravel development environment snapshots and restores — database, storage, and environment configuration — all in one command.
📘 Table of Contents
- Introduction
- Features
- Installation
- Configuration
- Usage
- Example Workflow
- Safety
- Contributing
- License
- Author
🚀 Introduction
Laravel Dev Snapshot is a lightweight package that helps developers manage their local environment snapshots easily.
Instead of manually exporting your database, copying .env, or saving config files — do it all with a single command:
php artisan dev:snapshot
php artisan dev:restore snapshot_name
This helps reset your local environment safely, reproduce bugs, or sync data across developers in seconds.
✨ Features
- 📦 Create and restore full development snapshots
- 🧠 Includes database, storage,
.env, and configuration files - ⚙️ Works only in
localortestingenvironments (for safety) - 🪶 Simple Artisan commands (
dev:snapshot,dev:restore) - 💾 Optional compression to ZIP files
- 🧹 Clean and easy rollback system
⚙️ Installation
Require the package via Composer:
composer require sagar-s-bhedodkar/laravel-dev-snapshot --dev
🔧 Configuration
Publish the configuration file:
php artisan vendor:publish --provider="SagarSBhedodkar\LaravelDevSnapshot\Providers\DevSnapshotServiceProvider" --tag=config
The configuration will appear at config/dev-snapshot.php:
return [
'snapshot_path' => env('DEV_SNAPSHOT_PATH', 'snapshots'),
'include_storage_paths' => ['storage/app/public'],
'include_env' => true,
'include_config_paths' => ['config/app.php'],
'exclude_tables' => [],
'compress' => true,
'allowed_environments' => ['local', 'testing'],
];
🧠 Usage
➕ Create a snapshot
php artisan dev:snapshot
Optionally name your snapshot:
php artisan dev:snapshot --name=my-local-backup
♻️ Restore a snapshot
php artisan dev:restore snapshot-20251012-abc123
🧩 Example Workflow
- You make large DB or storage changes.
- Run:
php artisan dev:snapshot --name=pre-test - After testing, restore the environment:
php artisan dev:restore pre-test - Your DB, env, and storage are restored to that state instantly.
🛡️ Safety
Snapshots and restores will only run in local or testing environments.
The package will refuse to execute in production to avoid data loss.
🤝 Contributing
Contributions are welcome!
- Fork the repository
- Create a feature branch:
git checkout -b feature/new-feature - Commit your changes:
git commit -m "Add new feature" - Push to your fork:
git push origin feature/new-feature - Submit a Pull Request 🎉
📄 License
This package is open-sourced software licensed under the MIT license.
👨💻 Author
Sagar Sunil Bhedodkar
📧 sagarbhedodkar456@gmail.com
🌐 GitHub Profile
Made with ❤️ for Laravel developers who value automation, safety, and simplicity.