Puncte:0

„Definiții de entitate și/sau câmp nepotrivite” după activarea modulului contribuit

drapel in

Am instalat modulul Rabbit Hole în Drupal 9. Am fost imediat întâmpinat cu acest mesaj pe pagina de stare:

Definiții de entități și/sau câmpuri nepotrivite

Următoarele modificări au fost detectate în tipul de entitate și definițiile câmpurilor.
Utilizator
Câmpul de acțiune Rabbit Hole trebuie instalat.
Calea de redirecționare a Rabbit Hole. câmpul trebuie instalat.
Câmpul cod de răspuns de redirecționare Rabbit Hole trebuie instalat.
Câmpul de acțiune alternativă de redirecționare Rabbit Hole trebuie instalat.

Toată lumea pare să spună rulați actualizări de entități de dezvoltare, dar pagina de modul în sine spune:

Scopul acestui modul este de a avea o modalitate rapidă de a aplica actualizările schemei în timp ce dezvoltă noi tipuri de entități și ajung să ajungă treptat adăugarea/eliminarea/modificarea definițiilor tipului/câmpurilor de entitate.

Când aceste modificări fac parte dintr-o versiune oficială (și nu în domeniul de aplicare al unei sesiuni de dezvoltare a codului), pe care ar trebui să se bazeze absolut Funcțiile de actualizare DB, așa cum este explicat în CR de mai sus, pentru că acesta este singurul mod în care procesul de actualizare a schemei de entitate poate fi previzibil și de încredere.

Din acest motiv, acest modul depinde de Devel și nu este menit să fie activat în medii de producție sau pe care se bazează în implementare fluxuri de lucru, consultați #3082442: De ce nu este menit să fie activat în producție medii? pentru mai multe detalii.

Deci, nu ar trebui să fie folosit sau rulat în producție? Rularea locală nu produce nicio modificare vizibilă a exporturilor de configurare. Deci, cum ați face acest lucru pe o bază de date de producție?

În schimb, oamenii spun că aceste actualizări ar trebui să apară într-un cârlig de actualizare. Ce inseamna asta? Este această povară pentru dezvoltator sau utilizator de făcut? Am văzut asta din când în când cu modulele contribuite și nu înțeleg dacă actualizările entităților de dezvoltare se vor „remedia” (corect remediați) această problemă sau dacă există o modalitate concretă de a face această modificare.

4uk4 avatar
drapel cn
Nu aveți nevoie de un cârlig de actualizare pentru a instala sau dezinstala un modul care conține o definiție de câmp. Ultima problemă legată de aceasta a fost rezolvată în Drupal 8.5. Consultați https://www.drupal.org/project/drupal/issues/2282119. Cârligele de actualizare sunt pentru modificări în modulele deja instalate.
sonfd avatar
drapel in
Rularea comenzii de actualizare a entității elimină local mesajul din pagina de stare?
Puncte:1
drapel cn

Nu primiți „Definiții de entități și/sau câmpuri nepotrivite” după instalarea/dezinstalarea unui modul contrib adăugând câmpuri de bază la entitățile existente.

Pasi pentru reproducere:

  • compozitorul necesită „drupal/rabbit_hole:^1.0@beta”
  • activați modulul principal Rabbit Hole și submodulul utilizatorilor Rabbit Hole
  • tabelul users_field_data conține cele 4 câmpuri noi
  • Pagina de stare este clară
  • editați un utilizator cu setări individuale pentru gaura de iepure pentru a completa câmpurile cu date
  • verifica baza de date, datele sunt stocate
  • dezinstalează modulul
  • câmpurile sunt mutate din user_field_data în tabele separate field_deleted_data_*
  • alerga cron
  • field_deleted_data_* sunt eliminate din baza de date

Dacă modulul nu se instalează/dezinstalează corect astfel, derulați înapoi și testați-l mai întâi pe o copie locală a site-ului până când funcționează. Nu utilizați un instrument de dezvoltare precum actualizările entităților de dezvoltare pentru datele de producție. Cu atât mai mult pentru un modul încă în beta care schimbă tabelele de entități de bază.

Kevin avatar
drapel in
Este totuși normal? Sau este specific modulului respectiv?
4uk4 avatar
drapel cn
Acest comportament exact este normal pentru toate modulele care adaugă câmpuri de bază la entitățile existente.
Kevin avatar
drapel in
Ciudat... Mă întreb ce a declanșat acest mesaj pentru mine. Îmi amintesc doar că l-am activat.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.