Revision support for RedBeanPHP ORM
Switch branches/tags
Nothing to show
Clone or download
zewa666 Update to reflect RB 3.5 plugin helpers
* Modified the plugin to use the R::ext helper
* Added RB LTS version
* PHPUnit Tests added
Latest commit bbdbda1 Nov 3, 2013

README.md

RedBean_ReBean (RevisionBean)

This is a plugin for the RedBeanPHP ORM, which will be generating automatically revision tables for given Beans

This is achieved by creating a table named after your beantype plus the "revision" prefix. The table contains all the columns from your bean. Additionally it has a column "action" specifying if this revision was made by an [INSERT,UPDATE,DELETE] statement. Also inlcuded is the column "original_id" which represents the ID of the bean, that's been revisioned. Finally there is a "lastedit" column indicating when the change happend.

All the functionallity is achieved by using AFTER Triggers

Current status: The plugin so far works for Mysql, although not properly tested. Please use it just for testing and NOT IN PRODUCTION so far.

Update:

  • Now uses the R::ext plugin helper so you can access Revisioning without any previous instance creation. Just use R::createRevisionSupport($YOURBEAN);
  • Added PHPUnit Tests
  • Throw Exception if Bean is already under revision support

Usage:

  • Download the latest version of RedBean from Github or install via Composer.
  • Add the file ReBean.php to the RedBean/Plugin folder
  • Either manually require the file or see the RedBean instructions for building your on RB.php file
  • Create your first bean type
  • Store it in the DB (R::store($YOURBEAN))
  • Call the revision method like this
   R::createRevisionSupport($YOURBEAN);
  • Happy modifying of your previous Bean. You should be able to see all changes in the created revisiontable

Example:

Take a look at the included example.php.