sagar-s-bhedodkar / laravel-dev-snapshot
Dev environment snapshot and restore for Laravel (DB + storage + config + env)
Installs: 4
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/sagar-s-bhedodkar/laravel-dev-snapshot
Requires
- php: >=8.1
- illuminate/support: ^9.0|^10.0|^11.0|^12.0
Requires (Dev)
- orchestra/testbench: ^7.0|^8.0
README
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
local
ortesting
environments (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.