{"repo":"avocet-shores/laravel-rewind","free":true,"listed":false,"github":"https://github.com/avocet-shores/laravel-rewind","clone":"git clone https://github.com/avocet-shores/laravel-rewind.git","description":"Version control for Eloquent models. Rewind, fast-forward, restore, diff, and query point-in-time state.","language":"PHP","stars":208,"topics":["eloquent","eloquent-models","eloquent-orm","laravel","laravel-framework","laravel-package","versioning"],"license":"MIT","category":"api-integrations-sdks","readme_excerpt":"Laravel Rewind Full version control for your Eloquent models. Rewind, fast-forward, restore, diff, and query point-in-time state. Under the hood, Rewind stores a mix of partial diffs and full snapshots. You get the storage efficiency of diffs with the reconstruction speed of snapshots, and the interval is configurable to suit your needs. Why Rewind? - Hybrid storage engine. Diffs between snapshots keep storage small. Snapshots at configurable intervals keep reconstruction fast. You control the trade-off. - Thread-safe. Cache-based locking prevents version sequence breaks during concurrent writes. - Non-destructive history. Edits on older versions, restores, and pruning all preserve the full audit trail. - Batch versioning. Group changes across multiple models into a single logical revision. - Built for real workloads. Queued version creation, automatic pruning, and a cost-based approach engine that picks the fastest reconstruction path. Installation Publish and run the migrations, and publish the config: Getting Started 1. Add the trait 2. Add the current version column This generates a migration that adds current version to your model's table. Run php artisan migrate to apply it. That's it. Your model's changes are now tracked automatically. Navigating History Restoring State There are two ways to go back to a previous version, and the distinction matters: goTo() moves the pointer. The model is updated to match the target version, but no new version record is created. Good f","default_branch":null,"files":null,"tree":[],"storefront":"/r/avocet-shores","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/avocet-shores/laravel-rewind/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}