2017-02-21 3 views
2

In meiner Einführungsstrategie möchte ich folgendes tun: von git Laravel Handwerker Migrate Einsatz Produktion

  • installieren Abhängigkeiten über Komponist (dev Anforderungen als auch)
  • Run Tests

    1. Get Code (phpunit etc)
    2. Installieren Abhängigkeiten für die Produktion (wird dev Anforderungen)
    3. Zip
    4. kopieren Server entfernen
    5. Dekomprimieren
    6. ändern Symlink aktuelle Release

    An dieser Stelle kann ich php artisan migrate ausführen, um die Datenbank zu aktualisieren (2 alte Versionen bei revert lassen)?

    Überlegungen:

    Die Anwendung Cache-Dateien gelöscht werden (tatsächlich sind sie leer wie eine frische Installation). Prüft die Migrationsabfrage das Schema, um zu wissen, ob Updates erforderlich sind?

    Alles in allem:

    Kann ich php artisan migrate sicher in der Produktion ohne Cache früheren Anmeldung?

    Wie funktioniert die migrate Aufgabe die Geschichte der Tabelle und was muss getan werden?

  • Antwort

    1

    Wenn Sie Ihre Migrationen zum ersten Mal ausführen, erstellt Laravel eine migrations-Tabelle, mit der Sie wissen, wann Sie mit Ihren Migrationen arbeiten.

    Ich schlage vor, immer ein Backup zu machen, trotzdem können Sie Ihre Tabellen ohne Probleme aktualisieren, wenn Sie sie lokal testen, bevor Sie sie in der Produktion anwenden, und am wichtigsten, Sie nicht die alten Migrationen bearbeiten, sondern neue hinzufügen um zu migrieren, Ereignis, um vorhandene Tabellen zu bearbeiten (Spalten hinzufügen/entfernen).

    PS: Warum müssten Sie Symlink, wenn Sie Git verwenden? Ich würde nur eine funktionierende Version markieren. Wenn Sie ssh-Zugriff auf Ihren Hosting-Server erhalten können, sogar eine Sandbox-Version, um einfach auf Ihren Site-Ordner zugreifen zu können, können Sie ihn direkt mit git bereitstellen. Der beste Weg, um Probleme zu vermeiden, die durch eine fehlerhafte Kopie von Dateien verursacht werden.

    +0

    Oh verdammt, du hast recht, danke, dass du darauf hingewiesen hast. Ich arbeite derzeit an der Migration von Zend 2 und habe die Migrationstabelle nicht eingerichtet. Sah in einem anderen Projekt, danke! –

    +0

    Ich benutze symlink, weil ich 3 andere Projekte habe, die diese Strategie haben und die Konsistenz beibehalten wollten, wieder danke, fröhliche Programmierung :) –

    +0

    Viel Glück, mach's gut;) – phaberest

    Verwandte Themen