-
-
Notifications
You must be signed in to change notification settings - Fork 78
Description
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:
- Bloccare il supporto a installazioni con MySQL <= 5.6.5
- Bloccare Eloquent nell'aggiornamento del campo updated_at
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.