2016-09-14 8 views
1

Der KontextWordpress Migration zu lokaler Umgebung

ich zugewiesen habe war ein 3rd-Party Wordpress Thema und die erste Aufgabe meiner Entwicklungsumgebung die Migration der Produktion Website zu aktualisieren.

Die Migration

  1. ich ssh auf dem Produktionsserver haben, gezippt die gesamte Website-Ordner und meiner lokalen Umgebung übertragen zusammen mit der gesicherten Datenbank.
  2. Ich habe es in eine Vagabund-Box mit der gleichen Lampenkonfiguration des Produktionsservers eingesetzt.
  3. Ich habe die folgenden Updates in der Datenbank in meiner Entwicklungsumgebung wiederhergestellt.

:

UPDATE wp_options SET option_value = replace(option_value, 'http://production.com', 'http://dev.site') WHERE option_name = 'home' OR option_name = 'siteurl'; 

UPDATE wp_posts SET post_content = replace(post_content, 'http://production.com', 'http://dev.site'); 

UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://production.com','http://dev.site'); 

Das Problem

Wenn die Website in meiner Entwicklungsumgebung den Zugriff bemerkte ich, dass viele der Produktion Shortcodes gebrochen werden.

Irgendwelche Ideen?

+1

Dies kann/darf nicht ein wenig seltsam klingen, aber haben Sie versucht, zu deaktivieren und alle Ihre Plugins, sowie das aktive Thema zu reaktivieren? Gehen Sie auch zu _Settings_ -> _Permalinks_ und drücken Sie einfach speichern (behalten Sie alle Einstellungen gleich). Manchmal flippen die serialisierten Daten ein wenig aus und das Zurücksetzen zwingt sie zum Neuschreiben. Dies behebt die Migration -> Shortcode-Fehler die meiste Zeit. – Frits

+0

Hallo Daniel - hat mein Vorschlag geholfen? Hast du vielleicht eine andere Lösung gefunden? – Frits

+0

Es hat in der Tat @ Frits geholfen! Nach dem Reaktivieren des Themas habe ich herausgefunden, dass es um einen Aktivierungscode von themeforest geht. Ich glaube, dass dies verhindert, dass es richtig funktioniert. Ich frage meinen Kunden nach dem benötigten API-Schlüssel und ich melde mich sobald ich es bekomme! Vielen Dank. –

Antwort

1

Die meisten Migrationspausen werden durch fehlerhafte serialisierte Daten verursacht.

Der einfachste Weg, diese Pausen zu reparieren, ist Force Recreate die Daten. Dies ist erreichbar, indem das Plugin gezwungen wird, die serialisierten Daten in die MySQL-Datenbank umzuschreiben.

dieser Schritte werden bei den meisten Migrationsfehlern helfen, die auftreten können:

  1. deaktivieren und Reaktivieren alle Ihre Plugins
  2. aktivieren eine andere (vorzugsweise ein default/gebaut -in) Thema und dann reaktivieren Ihr aktuelles Thema.
  3. Head to Einstellungen ->Permalinks und nur klicken Sie auf Speichern (alle Einstellungen gleich halten)

Für jemand anderes diese Antwort zu lesen: Es ist wichtig, dass fast alle diese beachten wäre unmöglich, wenn Ihre URL geändert und Sie nicht das SQL-Problem in der Frage

nicht ausgeführt haben Wenn nötig, ich habe meine eigene Version von unten hinzugefügt, müssen Sie nur daran erinnern, t o Ersetzen Sie die oldsite-url.com und newsite-url.com durch die entsprechenden Werte.

Wenn die betreffende Datenbank ein benutzerdefiniertes Tabellenpräfix verwendet (d. H.nicht wp_), müssen Sie daran denken, zu finden - auch>ersetzen dass.

Hier ist die SQL-Abfrage:

UPDATE wp_options SET option_value = replace(option_value, 'http://oldsite-url.com', 'http://newsite-url.com') WHERE option_name = 'home' OR option_name = 'siteurl'; 
UPDATE wp_posts SET guid = REPLACE (guid, 'http://oldsite-url.com', 'http://newsite-url.com'); 
UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://oldsite-url.com', 'http://newsite-url.com'); 
UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://oldsite-url.com','http://newsite-url.com');