Sto pubblicando questa domanda perché vorrei sapere qual è il miglior flusso di lavoro di sviluppo per qualcuno che vuole gestire tutti gli aspetti di un negozio online.
Come per tutto lo sviluppo web ovviamente, avere una copia live e almeno una copia di sviluppo dell'intera soluzione software è ovviamente molto importante. Tuttavia, gestire le cose di Magento non è come gestire altri software "basati su file" perché c'è anche un componente di database che entra in gioco, quindi, oltre al fatto che posso usare uno strumento come Git come strumento VCS per il controllo del codice sorgente, come sarebbe Vado a gestire le differenze nel database tra le versioni live e di sviluppo?
Ovviamente potrei fare backup del database live tramite cron e inserire le istruzioni INSERT SQL dal backup nel controllo del codice sorgente, ma dopo che due database si evolveranno separatamente mentre i clienti si registrano e piazzano gli ordini da un lato che vanno nel database live, e poiché gli aggiornamenti vengono eseguiti separatamente nel database di sviluppo. Quando si tratterà di unire lo sviluppo e le versioni live, i file php possono essere aggiornati senza problemi tramite git (usando gitignore sul singolo file che ospita i dettagli di configurazione del database), ma per quanto riguarda i file del database? Come posso unire i due file contenenti le istruzioni INSERT SQL dai due backup senza causare un disastro e distruggere il sistema?
Questa è l'area ombreggiata del ciclo di vita dello sviluppo di Magento che sto affrontando: gestire le differenze tra i database.
Mi sembra, come l'unica soluzione per sincronizzare i contenuti del database che differiscono tra sviluppo / test e versioni live del negozio Magento è di annotare su un pezzo di carta tutte le modifiche apportate nella versione di sviluppo tramite il Pannello di amministrazione Magento, e spero di non commettere errori, quindi una volta che tutto è stato testato e funziona, passare alla versione live ed eseguire esattamente le stesse modifiche mentre Magento viene portato offline e messo in modalità manutenzione. Poiché si tratta di un processo manuale, è soggetto a errori.
Quindi, qual è il modo migliore per gestire la sincronizzazione del database tra il server magento di prova e il server magento live?
Grazie.