Compatibilità MySQL #355
Labels
da definire
Modifiche da pianficare e approfondire
discussione
Discussioni sulle funzionalità e i loro utilizzo
Milestone
Comportamento richiesto
Con l'introduzione della gestione delle componenti del gestionale tramite Eloquent, inizia a verificarsi un problema di retro-compatibilità dovuto al fatto che le installazioni con versioni di MySQL precedenti alla 5.6.5 non presentano il campo updated_at.
Questo è causato dal fatto che, per progettazione iniziale, il campo updated_at deve aggiornarsi in automatico alla data di modifica del record perchè altrimenti sarebbe stato impossibile modificare di conseguenza tutte le query UPDATE.
L'introduzione di Eloquent permette però una semplificazione notevole: utilizzando gli oggetti relativi, i campi updated_at e created_at vengono aggiornati automaticamente da Eloquent, e quindi in futuro il requisito di MySQL potrebbe essere nuovamente rimosso. Questo però sembra aver portato ad alcune problematiche in alcuni aggiornamenti (https://www.openstamanager.com/forum/viewtopic.php?f=4&t=91527&p=98362#p98362, https://www.openstamanager.com/forum/viewtopic.php?f=2&t=91523).
Possiamo quindi procedere in due modi:
La seconda scelta permetterebbe al sistema di continuare a funzionare in ambienti non aggiornati, ma rimanderebbe il problema alla prossima incompatibilità che troveremo; il primo punto permetterebbe invece di avere una maggiore conformità tra tutte le installazioni, e garantirebbe il funzionamento dell'API.
Comportamento attuale
L'aggiornamento automatico di Eloquent per il campo updated_at viene bloccato, ma dipende da una sezione di codice aggiuntivo che dobbiamo implementare di volta in volta attraverso la classe personalizzata Common\Model.
Il fix per le classi di base è nel commit 1b6f186.
The text was updated successfully, but these errors were encountered: