Field Forge rastrea cada cambio en las definiciones de grupos de campos como una revisión. Hasta 50 revisiones por grupo. Requiere PRO.
Listando Revisiones
php
$versioning = FIELDFORGE_Schema_Versioning::instance();
$revisions = $versioning->get_revisions( $group_id, 20 );
foreach ( $revisions as $rev ) {
printf(
"v%d by %s on %s (%d fields, hash: %s)\n",
$rev->version,
$rev->author ?: 'Unknown',
$rev->created_at,
$rev->field_count,
$rev->hash
);
}API de Diferencias
php
// Compare revision 5 with revision 3
$diff = $versioning->diff( 3, 5 );
/*
Returns:
[
'changes' => [
['type' => 'field_added', 'field' => 'sale_price', 'label' => 'Sale Price'],
['type' => 'field_modified', 'field' => 'price', 'changes' => [
['property' => 'required', 'from' => false, 'to' => true],
]],
],
'summary' => '2 change(s): 1 added, 0 removed, 1 modified',
]
*/
// Compare revision 3 with current DB state (0 = current)
$diff = $versioning->diff( 3, 0 );Reversión
php
$success = $versioning->rollback( $revision_id );
// First saves the current state as a new revision (for undo), then applies the rollback.—