Ho un software per piccoli negozi di consegna (pizzeria, giapponese, ecc.) qui in Brasile che girano su alcune decine di clienti e ho la possibilità di estenderlo a molti altri clienti dopo averlo evoluto in un POS completo (Punto di vendita ).
Tuttavia, c'è una funzione critica che abbiamo faticato a sviluppare: una modalità offline. Internet in Brasile non è affidabile per l'uso commerciale, quindi è normale in alcune regioni avere problemi da alcune disconnessioni a settimana fino a disconnessioni per 0-90 minuti a giorni alterni.
Il software è realizzato in C # / Windows Form e il database MySQL è ospitato su Azure. I clienti si connettono allo stesso database e ogni tabella ha un CompanyId. È strategico avere un database online piuttosto che un server MySQL nella rete locale dei clienti.
Ho svolto una buona quantità di ricerche ma finora non ho trovato una soluzione o una direzione.
Abbiamo adottato un approccio: considerare l'installazione anche installare un MySQL e scaricare (se presente) i dati dell'azienda, il software si collegherebbe al database locale e ogni pochi secondi apporterebbe le modifiche dal database locale a quello cloud . Ma si è rivelato impegnativo e ha avuto un impatto sul design del codice (non può fare da zero a causa degli attuali clienti).
In questo momento considereremmo questa modalità da zero e la migrazione precedente.