BoxLang 🚀 A New JVM Dynamic Language Learn More...
box install cborm-versioning
If the entity has a verisioned
attribute on the entities, the module will create a version of that entity. Installing registers an interceptor on all ORMPreInsert
and ORMPreUpdate
events to version entities.
You can also manually create a version. Doing so skips the check for the versioned
attribute.
var versioner = wirebox.createInstance( "Versioner@cborm-versioning" );
versioner.version( myEntity );
Once you have a version, restoring it to an entity is simple:
var version = entityNew( "Version@cborm-versioning" ).get( id );
var restoredEntity = version.restore();
// then if you want this to be the new current version
restoredEntity.save();
If you set a numeric value (n
) for your versioned
attribute (e.g. versioned="4"
), then the module will delete all versions in excess of n
after creating a version. By default, cborm-versioning
doesn't delete any versions.
$
box install cborm-versioning