All Projects → laravel-enso → versioning

laravel-enso / versioning

Licence: MIT license
Prevents update conflicts in Laravel

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to versioning

rememberable
Laravel Traits for fast integration of model caching
Stars: ✭ 28 (-20%)
Mutual labels:  trait, laravel-enso
track-who
Laravel Traits for tracking who's done what to your models
Stars: ✭ 29 (-17.14%)
Mutual labels:  trait, laravel-enso
aspnet-api-versioning
Provides a set of libraries which add service API versioning to ASP.NET Web API, OData with ASP.NET Web API, and ASP.NET Core.
Stars: ✭ 2,396 (+6745.71%)
Mutual labels:  versioning
zerover
0️⃣ Minimalist versioning scheme for devs who can't be bothered.
Stars: ✭ 141 (+302.86%)
Mutual labels:  versioning
bety
Web-interface to the Biofuel Ecophysiological Traits and Yields Database (used by PEcAn and TERRA REF)
Stars: ✭ 14 (-60%)
Mutual labels:  trait
laravel-make-extender
Generate and autoload custom Helpers, Builder Scope, Service class, Trait, Custom Casts, Collections Macros, View Composers
Stars: ✭ 30 (-14.29%)
Mutual labels:  trait
zipcode
ZipCode Cep do Brazil
Stars: ✭ 43 (+22.86%)
Mutual labels:  trait
neptune-client
📒 Experiment tracking tool and model registry
Stars: ✭ 348 (+894.29%)
Mutual labels:  versioning
treelike
A trait to abstract over common tree functionality
Stars: ✭ 33 (-5.71%)
Mutual labels:  trait
versionaire
Provides an immutable, thread-safe, and semantic version type.
Stars: ✭ 71 (+102.86%)
Mutual labels:  versioning
menus
Laravel Enso main menu manager, for easy management of the application menus straight from the interface, whether that means adding, removing or reordering them
Stars: ✭ 15 (-57.14%)
Mutual labels:  laravel-enso
python-aos-lesson
Python for Atmosphere and Ocean Scientists
Stars: ✭ 78 (+122.86%)
Mutual labels:  versioning
app-versioning
A Gradle Plugin for lazily generating Android app's versionCode & versionName from Git tags.
Stars: ✭ 149 (+325.71%)
Mutual labels:  versioning
sep-pay
Pay.ir Payment Package for Laravel 5.3+
Stars: ✭ 17 (-51.43%)
Mutual labels:  trait
laravel-cachable-attributes
Allows to cache attribute accessor values in an easy way.
Stars: ✭ 24 (-31.43%)
Mutual labels:  trait
toolkit
some useful library of the php
Stars: ✭ 15 (-57.14%)
Mutual labels:  trait
studio-changes
📦 Generate a changelog as part of the npm version command
Stars: ✭ 49 (+40%)
Mutual labels:  versioning
developer
Ermöglicht die Bearbeitung von Templates, Modulen und Aktionen im Dateisystem (also mit einem beliebigen Editor).
Stars: ✭ 84 (+140%)
Mutual labels:  versioning
data-import
Laravel Enso XLSX Data Import package, built around the box/spout library, with templating, easy validation and more, for painless imports
Stars: ✭ 19 (-45.71%)
Mutual labels:  laravel-enso
versiontag
Bash command to automate tag semantic versioning
Stars: ✭ 40 (+14.29%)
Mutual labels:  versioning

Versioning

Codacy Badge StyleCI License Total Downloads Latest Stable Version

Prevents update conflicts using the optimistic lock pattern in Laravel

This package can work independently of the Enso ecosystem.

For live examples and demos, you may visit laravel-enso.com

Installation

  1. install the package composer require laravel-enso/versioning
  2. run the migrations
  3. use the Versionable trait on the models you want versioning on.

By default, the version value is kept in a 'version' attribute, but this can be customized (see below).

Features

  • the package creates a versionings table where it holds versions for all the versionable models
  • by using the Versionable trait on a model, versioning is handled automatically
  • by default the trait appends a version attribute after the model is retrieved, used for tracking versions and expects the same attribute to be present on the model when the update is called
  • the default versioning attribute can be customized by using protected $versioningAttribute = 'customVersionAttribte' on the model
  • the trait can be used on models that already have records in the database, the versioning starts with the first retrieval of those models
  • when a versionable model is deleted, its versioning is deleted also. If the model uses SoftDeletes, the versioning is not deleted, unless doing a forceDelete
  • throws a ConflictHttpException if the version does not match on update
  • tests are included with the package

Configuration & Usage

Be sure to check out the full documentation for this package available at docs.laravel-enso.com

Contributions

are welcome. Pull requests are great, but issues are good too.

License

This package is released under the MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].