Come posso effettuare aggiornamenti su un sito, su una copia di sviluppo, ma poi spostare indietro gli aggiornamenti senza sovrascrivere il database in evoluzione del sito live?


20

Ho cercato di essere il più descrittivo possibile nel titolo e so che questa domanda è stata posta in precedenza in varie forme, ma non sono riuscito a trovare una buona risposta ad esso ed è da immaginare che nessuno abbia risolto questo problema.

È semplice, una volta che un sito WP è attivo, se non è statico, continua ad aggiornare il suo database con l'aggiunta di nuovi post, nuovi ordini di woocommerce, nuovi account utente ecc. "

Se voglio apportare alcune importanti modifiche e aggiornamenti al sito, il modo più semplice e più semplice per farlo è fare una copia su un'installazione locale o su un altro dominio di sviluppo e apportare tutte le modifiche lì. Una volta apportate tutte le modifiche, voglio copiarle di nuovo sul sito live.

Se le modifiche riguardano solo i file, come theme e css, è piuttosto semplice. Tuttavia, se le modifiche comportano modifiche nel database, come l'aggiunta di nuovi plug-in e l'aggiunta di contenuti che si collegano / si riferiscono a questi plug-in, allora non posso più semplicemente copiare il sito indietro, perché sovrascriverà tutte le nuove modifiche che sono state aggiunte al live database del sito. tutti i nuovi post, i nuovi ordini, i nuovi caricamenti di immagini verranno tutti cancellati.

Ora so che diversi scenari di casi hanno soluzioni diverse, ma non esiste un metodo che risolva tutti i casi?

Ad esempio, se le uniche modifiche apportate al sito live fossero nuovi post, allora posso esportare e importare i post sul sito di sviluppo e quindi spostare l'intero sito. Lo stesso vale per alcuni altri articoli, ma non per ogni tipo di oggetto. E l'altro problema è che la funzione di esportazione e importazione in wordpress è spaventosa. È così rudimentale e hai pochissime opzioni per selezionare ed esportare solo oggetti specifici. Probabilmente ho provato tutti i plugin "import / export avanzati" e nulla deve ancora risolvere questo problema.

Quindi, in un altro thread, qualcuno ha sottolineato che questo plugin sostanzialmente installa e lavora su un tema sul sito live, mentre gli utenti normali vedono ancora il tema esistente, ma ciò non risolve ancora tutti i tipi di modifiche. perché se vuoi apportare modifiche al contenuto, diciamo il piè di pagina o il menu di navigazione, sono cose che si riflettono ancora nel tema / sito visualizzabile esistente e potrebbero apparire ok sul nuovo tema di prova ma non su quello dal vivo.

Non c'è modo di sviluppare un "ramo" di un sito sullo stesso sito / database e poi passare? o non c'è modo di svilupparsi su un sito di sviluppo ma poi fondere effettivamente i database in modo non distruttivo? Se sai quali componenti e quali cose hai interessato, non ci sarebbe un modo per farlo? o avresti bisogno di essere un maestro MySQL per tentare una cosa del genere.

Non posso essere l'unico ad avere questo enigma. Non riesco a immaginare che non ci sia soluzione per questo problema. Come si può fare?

Grazie in anticipo.


3
Tutti hanno questo problema e non esiste una soluzione semplice, mantenere il codice sotto controllo di revisione, scaricare spesso sql su un server di gestione temporanea, creare blocchi di manutenzione durante le migrazioni (5-10 minuti).
Wyck,

Non sarei d'accordo. Il plug-in RAMP di CrowdFavorite è una soluzione semplice per coloro che devono mettere in scena e distribuire contenuti. Definirla una "soluzione semplice" potrebbe essere un allungamento, ma va bene e qualsiasi sviluppatore dovrebbe essere in grado di configurarlo (richiede SSH e l'accesso remoto a MySQL ecc.)
jb510

Qualcuno ha provato sitepush ? Non mi dispiace pagare $ 250 per Ramp se è una soluzione migliore, ma è difficile vedere dall'esterno quanto bene funzionino questi sistemi senza la completa implementazione e test.
James,

Non ho usato sitepush. Sembra però che spinga i DB completi (come Migrate WP DB Pro). È buono per la distribuzione di un sito statico, ma non riesce in una dinamica dal vivo (ad es. Nuovi post / commenti in corso). La RAMP gestisce effettivamente la differenza tra DB e fusioni, non sostituisce il DB attivo.
jb510

Potresti voler usare DBV PHP , un progetto open source, mettendo il tuo DB sotto il controllo della versione. Ha persino un'interfaccia utente per semplificare la gestione. Un'altra opzione sarebbe quella di passare, ad esempio, a Laravel, che ha uno strumento di migrazione integrato nell'app CLI.
Kaiser

Risposte:


2

Davvero nessun modo semplice per fare quello che vuoi fare, ma quello che vorrei fare è fare un'istantanea del tuo sito, implementare le tue modifiche e se qualcosa si ripristina e riprova. Potrebbe essere inattivo per un'ora, ma di recente l'ho fatto quando in qualche modo ho murato un sito su cui stavo lavorando. Questo potrebbe non essere il modo "giusto" per risolvere il problema, tuttavia per me funziona. In bocca al lupo.


Come può essere possibile che il team WP non abbia pensato a un modo professionale di farlo? è il 2018 !!
asael2,
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.