Come distribuire le modifiche al DB dallo sviluppatore alla produzione in Magento


9

Sono consapevole che i moduli dispongono di script di installazione e configurazione dei dati per rendere il DB portatile dallo sviluppo alla produzione.

Ma nel nostro caso abbiamo sviluppatori dell'interfaccia utente che aggiungono attributi e prodotti attraverso l'interfaccia di amministrazione che viene memorizzata nel DB di sviluppo.

Il giorno del rilascio, non possiamo ripetere tutti i passaggi che abbiamo fatto nell'ambiente di sviluppo, poiché sarà troppo noioso e richiede tempo.

Esiste un modo per gestire tali modifiche al DB durante la distribuzione.

Per ora stiamo eseguendo una diff tra il DB di sviluppo e il DB di produzione e generando un SQL che viene eseguito il giorno del rilascio. Ma questo è un po 'pericoloso poiché il DB di sviluppo potrebbe contenere dati transazionali di prova e potremmo finire per bloccare le tabelle transazionali nel prod se il nostro SQL ha delle istruzioni che modificano le tabelle transazionali.

Esistono buone pratiche in merito? Grazie per l'aiuto in anticipo

Risposte:


8

Esistono diverse estensioni per la migrazione dei dati tra ambienti, ma il loro utilizzo ti fa sparare in un piede. Non vorrai assolutamente rovinare l'ambiente di produzione se qualcosa andrà storto.

L'unico modo giusto per migrare i dati è utilizzare gli script di installazione.

Inoltre consentirà di creare nuovi ambienti (ad esempio per i nuovi pesci della tua squadra) che saranno aggiornati con lo stato attuale delle cose.

Buona domanda a proposito.


Ho scoperto personalmente che alcuni dei moduli di Magento Connect non sono sempre completamente compatibili in termini di esecuzione di script di installazione da zero. Devo ancora capire esattamente cosa è successo, ma la nostra configurazione del negozio è in uno stato tale che, a partire da un database vuoto, gli script di installazione sono in conflitto tra loro e il negozio non può avviare il database vuoto. Per ricominciare da zero, avremmo bisogno di applicare i moduli uno alla volta in ordine. O correggi bug nel software che non abbiamo scritto.
Nbering

Come si inseriscono in uno script le modifiche apportate dal pannello di amministrazione di Magento? Ad esempio: aggiungere attributi e prodotti o modificare la configurazione di alcune estensioni?
Andrea,

1
@Andrea non fai modifiche nel pannello di amministrazione di Magento. Tutto attraverso gli script di installazione. Ovviamente in alcune occasioni se vuoi provare qualcosa di cui non sei ancora sicuro, alla fine cambi qualcosa in admin ma in questo caso tali modifiche devono essere ripristinate e applicate nuovamente tramite lo script di installazione.
user487772

Come un FYI. Abbiamo finito per usare gli script di installazione per la maggior parte delle modifiche. Fortunatamente il nostro sviluppatore dell'interfaccia utente non si è preoccupato di fare script di installazione una volta capito. Puoi anche creare un ticket per la creazione di nuovi script di installazione e assegnarlo ai tuoi sviluppatori. Abbiamo anche un team di marketing che utilizza la funzione CMS di Magento. Invece di fare questi cambiamenti nell'ambiente di sviluppo, abbiamo chiesto loro di apportare direttamente questi cambiamenti nella produzione. Abbiamo aggiunto un ruolo CMS che consentirebbe loro di accedere solo alle funzionalità CMS. Di tanto in tanto pubblichiamo modifiche CMS da Prod a Stage e quindi QA e Dev utilizzando uno script personalizzato.
Jeetendra Pujari,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.