Come faccio a unire le modifiche da una copia di sviluppo del sito per il luogo in tensione senza perdere nuovi contenuti?

drupal.stackexchange https://drupal.stackexchange.com/questions/137

  •  16-10-2019
  •  | 
  •  

Domanda

Qual è la procedura migliore per la fusione lavoro fatto su una copia sviluppo di un sito per la copia di produzione dal vivo? Spesso v'è stato un sacco di nuovi contenuti aggiunti al sito in quanto lo sviluppo iniziato sulle funzionalità più recenti. E la maggior parte aggiunte a un sito comporterà modifiche al database. Così la copia di tutti i nuovi file è facile, ma per quanto riguarda il database? Come si fa a unire le modifiche con il database di produzione esistente, senza perdere di nuovi contenuti che è stato aggiunto dopo l'ultima volta che ha aggiornato il sito di produzione? Ci sono dei moduli che aiuto con questo?

È stato utile?

Soluzione

Per i tipi di contenuto, le viste e le modifiche di struttura sul sito aspetto dev presso utilizzando Caratteristiche per esportare il database in codice.

Per la migrazione dei contenuti ci sono molte opzioni, ma non una sola soluzione solida. Un esempio è il distribuzione privato .

Altri suggerimenti

ho adottato fondamentalmente due scuole di pensiero qui (un 3 ° scuola di pensiero, facendo diff di database, non voglio discutere perché la complessità è piuttosto elevata).

1) Distribuire facendo cadere il database di produzione e l'importazione di un mysqldump del database di sviluppo. Facoltativamente, eseguire un ritrovamento regex / sostituzione in anticipo su eventuali collegamenti assoluti hard-coded che fanno riferimento l'URL dev nel dump SQL. Dopo aver importato il db dev in prod, eseguire automaticamente le istruzioni SQL (di solito tramite script) in seguito per modificare le impostazioni che sono diverse per prod di dev (ad esempio, forse hai nella tabella delle variabili alcune impostazioni di connessione per il collegamento a sistemi esterni che è necessario cambiare a punto sistemi esterni prod anziché alla versione dev).

2) Utilizzare il Caratteristiche modulo, come detto dal Budda, per le impostazioni di amministrazione, e utilizzare il < a href = "http://drupal.org/project/node_export" rel = "nofollow"> modulo Nodo Esporta per l'esportazione di contenuti / importazione in combinazione con il Elimina tutto modulo. Quindi il flusso di lavoro è:

  1. uso node_export e funzionalità per i nodi di esportazione / caratteristiche di file
  2. Opzionalmente (e, si spera) il controllo di versione
  3. I file del carico sul sistema prod
  4. Usa interfaccia Drush o admin di carico dispone di
  5. Usa Drush delete-tutto o interfaccia di amministrazione per eliminare tutti i nodi dei tipi che si desidera importare
  6. Usa Drush ne-importazione o l'interfaccia di amministrazione per importare i nodi dai nodi file esportato.

Una nota, altamente li suggerirei l'adozione di un flusso di lavoro standard, dove il contenuto va solo in una direzione. In entrambi i Dev -> Prod Prod. -> Dev (preferisco questo)

L'ho già fatto, e sto facendo questo su alcuni grandi sistemi, con discreti risultati, ma ci saranno sempre molti modi per affettare questa mela, scegliere in qualunque modo funziona meglio per voi.

database dump copia del sito dal vivo e copia sviluppo del sito nel file SQL (usi la stessa parametri e impostazioni per entrambe le discariche).
Poi, confrontare entrambi i file SQL utilizzando un piccolo strumento di confronto ExamDiff . Sarà visualizzare le differenze di file side-by-side con colori diversi. Puoi accedere direttamente alle differenze anche (senza scorrimento). Esaminare le differenze e aggiungere / modificare le linee in un file SQL del sito live. Assicurarsi che non c'è assoluto path / URL di ambiente di sviluppo in quel file. Fatto! È ora di ripristinare il database per il sito dal vivo.
Fai la tua vita più facile: Nel primo passo, discarica solo i tavoli che vengono cambiati. Ad esempio, se avete modificato un modulo in copia sviluppo che si rivolge a un tavolo separato, scaricare solo questa tabella. Se non sei sicuro di tabella particolare, tutta dump del database va bene.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a drupal.stackexchange
scroll top