2017-10-23 5 views
1

Ich habe ein großes Projekt, das in Laravel 4 codiert ist. Die Verzeichnisstruktur ist etwas anders als Standard in einer Weise, dass es einen Ordner gibt, der getrennte Teile des Codes (Art der Module) enthält hat seine eigenen Modelle, Controller, Repositories etc.Laravel 4 bis 5 Übergang

Ich denke über den Übergang zu Laravel 5, und ich habe gelesen, dass der empfohlene Weg ist, eine neue Installation und kopieren alles einfügen. Dies ist jedoch eine App in der Produktion und sie wird ständig mit neuen Funktionen gefüllt, so dass ich nicht nur einen Monat damit verbringen kann, alles zu kopieren und gründlich zu testen, sondern einen reibungslosen Übergang zu machen.

Ich bin mir bewusst, dass die Frage vielleicht zu weit gefasst ist, aber kann ich einige Code-Änderungen so vornehmen, dass sie in Laravel 4 noch funktionieren und den Übergang zu Laravel 5 erleichtern? Zum Beispiel ... namespace dies, übertrage es dort, mach Klasse, die das tut ... etc?

+2

Sie müssen die manuelle Arbeit tun, aber glücklicherweise können Sie die meisten Dateien verwenden, wie sie sind, und sie einfach in die neue Ordnerstruktur verschieben müssen. Verfolgen Sie die Änderungen schrittweise auf Ihrem Entwicklungsserver und dann können Sie es schieben live .. –

+0

Wie schätzen Sie den Job ein? Sprechen wir Stunden oder Tage? – Norgul

+0

Sie können sich [Upgrade Guide] (https://laravel.com/docs/5.3/upgrade) ansehen. Sie haben alle Anweisungen, wie Sie Schritt für Schritt aktualisieren. – ljubadr

Antwort

0

Ich kann es vorziehen, dass Sie einfach einen frischen Laravel 5 in Ihrem System installieren. Dann kopieren Sie manuell alle Controller, Modelle, Datenbanken und so weiter ...
Wenn Sie keine Zeit für das manuelle Upgraden benötigen, gibt es einen Service namens Laravel Shift, mit dem Sie Laravel-Anwendungen automatisch aktualisieren können. Sie können auf die neueste Version von Laravel aktualisieren.

0

Ähnlich wie ich bin ich von 4.x -> 5.5 migriert. Es ging nicht zu glatt. Ich würde empfehlen, Ihre "Module" zuerst in einem neuen Laravel-Projekt zu übertragen und von dort aus den Code zu aktualisieren. Diese Module sind wahrscheinlich die projekterprobtesten Komponenten.

Dinge wie Authentifizierung hat mich wirklich rausgeholt, und anstatt zu aktualisieren, hätte ich das gerade neu geschrieben.

Ich habe gut 2 Wochen eine Anwendung aktualisiert. Können Sie sich diese Zeit als Ausfallzeit leisten? Wenn ich es wieder tun könnte, würde ich wahrscheinlich für Laravel Shift bezahlen.