35. Версионирование схемы | Field Forge - Произвольные поля, созданные для скорости
Скачать Войти

35. Версионирование схемы

Field Forge отслеживает каждое изменение в определениях групп полей как ревизию. До 50 ревизий на группу. Требуется PRO.

Список ревизий

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
    );
}

Diff API

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 );

Откат

php
$success = $versioning->rollback( $revision_id );
// First saves the current state as a new revision (for undo), then applies the rollback.

ИИ-ассистент Forge Онлайн

Привет! Я ИИ-ассистент Field Forge. Спрашивайте меня о чём угодно по плагину — настройка, возможности, устранение неполадок или разработка.

Только что
На базе Forge AI · Просмотр документации