Datenübernahme von Shop 4

Hi zusammen,

bin gerade dabei, meinen 4 er Shop upzugraden und passe gerade eigene Module an.

In der Zwischenzeit laufen allerdings diverse neue Bestellungen auf und verändern die Datenbank.

Kann ich die 4 er irgendwie in den 5 er einspielen und nochmals auf Update klicken oder wie geht man hier konkret vor?

LG und Dankeschön,

Chris

Das würde mich auch mal interessieren. Früher, d.h. bis vor ca. 6 Monaten, hieß es immer, dass es keine adäquate Möglichkeit gibt, Artikel-, Kunden- und Bestelldaten vernünftig von einem Shopware-Shop zu einem anderen zu migrieren. Was ich witzig finde, da sogar Migrationstools für Drittsysteme existieren… Keine Ahnung ob sich hier inzwischen etwas getan hat.

Wir haben hier auch einen alten 4.1.4er und wollen den aktualisieren. Momentan sieht es so aus als müssten wir Schritt für Schritt mehrere Teilupdates vornehmen, ehe wir auf die aktuelle 5er upgraden können. Und selbst dann kann niemand vorhersagen wie gut das dann tatsächlich läuft…

Es gibt bestimmt einen Ordner mit den entsprechenden SQL’s die beim Update ausgeführt werden oder sogar ein Script, das man über CLI anstossen kann.

Aber nur wo?

Hallo,

Du kannst die Datenbank einfach updaten. Entweder mit dem Updatescript (einfach) oder manuell die Migrations per SQL einspielen.

Ich würde dazu raten am gleichen Tag die Livedatenbank zu updaten und dann die Tabellen manuell zu übernehmen. Ist die einfachste und beste Möglichkeit.

Per API/Import gibt es keine Möglichkeit Bestellungen zu übernehmen, der Rest geht auch so. Der Updateweg ist hier die beste Lösung und auch an wenigsten fehleranfällig.

Die Migrations werden anhand der s_schema_version ausgeführt. Da steht drin welche ausgeführt wurden. Die Migrations gibt es hier: shopware/_sql/migrations at 5.1 · shopware/shopware · GitHub

Oder direkt im Updatepaket.

Moritz

Hi Moritz,

gut, ich denke, das bekomme ich hin, wenn Du mir sagst, wo ich das Updatescript finde. Aktuell scheitere ich an folgendem Stack Trace beim Aufruf des Unterverzeichnisses
meines Testshops:

 #0 Enlight/View/Default.php(273): Smarty\_Internal\_TemplateBase-\>fetch() #1 Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(212): Enlight\_View\_Default-\>render(Object(Enlight\_Template\_Default)) #2 Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(238): Enlight\_Controller\_Plugins\_ViewRenderer\_Bootstrap-\>renderTemplate(Object(Enlight\_Template\_Default)) #3 Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(136): Enlight\_Controller\_Plugins\_ViewRenderer\_Bootstrap-\>render() #4 [internal function]: Enlight\_Controller\_Plugins\_ViewRenderer\_Bootstrap-\>onPostDispatch(Object(Enlight\_Controller\_ActionEventArgs)) #5 Enlight/Event/Handler/Default.php(91): call\_user\_func(Array, Object(Enlight\_Controller\_ActionEventArgs)) #6 Enlight/Event/EventManager.php(211): Enlight\_Event\_Handler\_Default-\>execute(Object(Enlight\_Controller\_ActionEventArgs)) #7 Enlight/Controller/Action.php(202): Enlight\_Event\_EventManager-\>notify('Enlight\_Control...', Object(Enlight\_Controller\_ActionEventArgs)) #8 Enlight/Controller/Dispatcher/Default.php(528): Enlight\_Controller\_Action-\>dispatch('indexAction') #9 Enlight/Controller/Front.php(228): Enlight\_Controller\_Dispatcher\_Default-\>dispatch(Object(Enlight\_Controller\_Request\_RequestHttp), Object(Enlight\_Controller\_Response\_ResponseHttp)) #10 Shopware/Kernel.php(145): Enlight\_Controller\_Front-\>dispatch() #11 vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(471): Shopware\Kernel-\>handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #12 Shopware/Components/HttpCache/AppCache.php(256): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL) #13 vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(242): Shopware\Components\HttpCache\AppCache-\>forward(Object(Symfony\Component\HttpFoundation\Request), true) #14 Shopware/Components/HttpCache/AppCache.php(102): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>pass(Object(Symfony\Component\HttpFoundation\Request), true) #15 shopware.php(109): Shopware\Components\HttpCache\AppCache-\>handle(Object(Symfony\Component\HttpFoundation\Request)) #16 {main}

Da fehlt natürlich noch:

Unable to load template snippet ‘backend/index/index.tpl|backend/trusted_shops/menu_entry.tpl|backend/index/license.tpl|backend/index/paypal_header.tpl’ in Smarty/sysplugins/smarty_internal_templatebase.php on line 127

Das heißt, dass man einfach in seinen 5 er Shopware eine 4 er Datenbank einspielen und danach auf Update drücken kann?

Oder wie kann man dann seinen Shopware 5 auf den aktuellen Datenbestand der 4 er Version bringen?