Situation
Um dies als erstes herauszuholen: Ich bin kein Magento-Entwickler. Ich weiß nicht viel darüber. Ich berate mich nur, wenn es um Server- und Projektmanagementprobleme geht. Ich werde mir gelegentlich die Hände schmutzig machen, wenn es Probleme gibt, aber ich weiß nichts über die "Magento-Methode", Dinge zu tun.
Wir haben eine Magento-Site (1.9.3.4), an der wir aktiv entwickeln. Wir haben einen Produktionsserver und einen Entwicklungsserver.
Problem
Magento (wie WordPress) ist sehr datenbankabhängig. Wir können Code ohne Probleme versionieren und übertragen. Wir benötigen jedoch eine einfache und zuverlässige Methode zum Zusammenführen der Datenbanken.
In der Produktion möchten wir Produkte, Bestellungen, Bewertungen, Site-Konfigurationen (wie URL) usw. beibehalten. und bei der Entwicklung möchten wir CMS, Plugin-Konfigurationen (besonders problematisch, wenn wir ein neues Plugin installieren) usw. beibehalten.
Derzeit sichere ich beide Datenbanken manuell, schneide die nicht gewünschte Tabelle aus jeder aus und kombiniere sie. Ich schiebe dann die resultierende Frankensteinsche Datenbank in die Produktion. Dies ist so fehleranfällig, wie Sie sich vorstellen können.
Es muss einen besseren Weg geben, dies zu tun.
Andere Wege
Ich habe mit der Idee einer gemeinsam genutzten Datenbank gespielt, aber das ist nicht ideal, da nicht genehmigte Änderungen an Produkten und Seiten sich auf den Produktionsstandort auswirken würden.
Ich habe auch mit der Idee gespielt, die Datenbank-Dumps in Git zu leiten, aber das erfordert immer noch, dass ich weiß, welche Tabellen von der jeweiligen Datenbank aufbewahrt werden sollen.
Aktualisieren
Wenn ich jetzt darüber nachdenke, wäre der bessere Weg hier, einen zweiten "Staging" -Speicher in der Produktionsumgebung zu haben, anstatt einen separaten Entwicklungsserver? Vorsichtsmaßnahmen?