Migrare și curățare date
Această pagină documentează procedurile de migrare necesare la trecerea între versiuni majore ale pluginului Dentisity Congress, precum și operațiunile de curățare a datelor deprecate.
Migrare rol moderator identitate
Context
Versiunile anterioare ale pluginului foloseau rolul identity_check_moderator (fără prefixul dentisity_). Versiunile 4.8.x au introdus rolul nou dentisity_identity_moderator. Dacă ambele roluri există simultan, utilizatorii cu rolul vechi nu vor putea accesa panoul de verificare identitate.
Cum identifici problema
- Mergeți la WordPress → Utilizatori
- Filtrați după rol
identity_check_moderator - Dacă există utilizatori cu acest rol, migrarea este necesară

Procedura de migrare
Pasul 1: Atribuiți rolul nou fiecărui utilizator afectat
- Deschideți profilul utilizatorului (Utilizatori → Editare)
- Schimbați rolul din
identity_check_moderatorîn Moderator Identitate Dentisity (dentisity_identity_moderator) - Salvați
Pasul 2: Eliminați rolul vechi din sistem
Dacă rolul vechi nu mai are utilizatori asociați, poate fi eliminat prin WP-CLI:
wp role delete identity_check_moderator
sau programatic (în functions.php sau un plugin de utilități):
remove_role('identity_check_moderator');
Înainte de a elimina rolul vechi, confirmați că toți utilizatorii au fost migrati la rolul nou. Rulați:
wp user list --role=identity_check_moderator --fields=ID,user_login,user_email
Lista trebuie să fie goală.
Curățare transienți orfani
Dacă utilizatori au abandonat procesul de înregistrare, pot rămâne transienți neexpirați în baza de date. Aceștia expiră natural, dar pot fi curățați manual dacă este necesar:
# Curăță toți transienții Dentisity expiranți
wp transient delete --all --regex='dentisity_(ao|ws)_draft_.*'
wp transient delete --all --regex='dentisity_pending_pass_.*'
Migrare meta add-on după redenumire produs
Dacă un produs add-on a fost duplicat sau ID-ul său s-a schimbat, metadatele utilizatorilor (dentisity_addon_order_<id>) trebuie actualizate manual:
// Exemplu: migrare de la addon ID 123 la addon ID 456
$users = get_users();
foreach ($users as $user) {
$old_meta = get_user_meta($user->ID, 'dentisity_addon_order_123', true);
if ($old_meta) {
update_user_meta($user->ID, 'dentisity_addon_order_456', $old_meta);
delete_user_meta($user->ID, 'dentisity_addon_order_123');
}
}
Scripturile de migrare care modifică metadatele utilizatorilor trebuie testate întotdeauna pe o copie de test a bazei de date înainte de execuție în producție.
Backup pre-migrare
Indiferent de tipul migrării, urmați întotdeauna această ordine:
- Backup bază de date:
wp db export backup-$(date +%Y%m%d).sql - Backup fișiere plugin: arhivare director
wp-content/plugins/dentisity-congress/ - Notare versiune curentă: documentați versiunea pluginului din care migrați
- Executați procedura de migrare
- Verificare post-migrare: rulați verificările de integritate documentate la Actualizări plugin