Heim > PHP-Framework > Laravel > Informationen zur erweiterten Schema-Datenmigration von Laravel

Informationen zur erweiterten Schema-Datenmigration von Laravel

藏色散人
Freigeben: 2020-09-01 13:33:56
nach vorne
1872 Leute haben es durchsucht

Die folgende Tutorial-Kolumne von Laravel stellt Ihnen die verbesserte Schemadatenmigration von Laravel vor. Ich hoffe, dass sie Freunden, die sie benötigen, hilfreich sein wird!

Informationen zur erweiterten Schema-Datenmigration von Laravel

Konzeption:

Wenn wir das Projekt des Unternehmens umstrukturieren, müssen wir jedes Mal, wenn wir eine Migrationsklasse erstellen, um eine Datentabelle hinzuzufügen, das neue gelöschte_at, das erstellte_at, das aktualisierte_at, den letzten_Operator und die letzte_Operater-ID angeben.
Diese fünf In den Feldern werden die Löschzeit, die neue Zeit, die Änderungszeit, der Name des letzten Operators und die ID des letzten Operators jeder Zeile aufgezeichnet.

Kann ich diese Felder also automatisch erstellen lassen, ohne dass ich es selbst tun muss? der Code? Manchmal vergesse ich es sogar! !

    Erstes Mal: ​​Erweitern Sie die Funktion von Schema, dh erweitern Sie diese Funktion im ursprünglichen Befehl zum Erstellen von Migrationsdateien: PHP Artisan Make: Migration. Es wurde jedoch festgestellt, dass bei der Installation von Laravel-Admin durch Composer viele Migrationsdateien Konflikte verursachten Probleme.
  • Zweites Mal: ​​Um dieses Konfliktproblem zu lösen, wurde ein zweites Experiment durchgeführt: Da die Funktion von Schema gegenüber dem ursprünglichen Befehl nicht erweitert werden kann, fügen wir einen Befehl php artisan make:app_migration hinzu
Aber das Folgende ist Erläuterung des Sekundärtests.

1 Fügen Sie unter /providers/ einen Datenbankserveranbieter hinzu, um zu definieren, wie der $app['db_extra']-Dienstcontainer dieses Objekt erhält

Informationen zur erweiterten Schema-Datenmigration von Laravel3 Analysieren Sie den Inhalt in Abbildung 2 unten. ->Eine einzelne Instanz ist eine Fabrikklasse, die zum Erzeugen der db_extra-Klasse verwendet wird, wie in Abbildung 3 dargestellt. Diese Fabrikklasse wird in der folgenden Abbildung platziert

Informationen zur erweiterten Schema-Datenmigration von Laravel4 Dann analysieren Sie diese Fabrikklasse und erben Sie die Produktionsfabrik von Wenn es sich dieses Mal beispielsweise um ein verbundenes MySQL-Dienstverbindungsobjekt handelt, lasse ich ihn mein eigenes definiertes MSYQL-Verbindungsobjekt instanziieren, wie in Abbildung 4 gezeigt , in dieser MysqlExtraConnection.php-Klasse überschreibe ich die Methode der übergeordneten Klasse. Beim Ausführen des Befehls zum Hinzufügen einer neuen Migrationsklasse wird eine Migrationsdatei gemäß der von mir definierten Migrationsvorlage erstellt

Informationen zur erweiterten Schema-Datenmigration von Laravel6 , Definieren Sie uns Sie möchten standardmäßig neue Felder hinzufügen, wie in Abbildung 6 gezeigt

Informationen zur erweiterten Schema-Datenmigration von Laravel

7 Als nächstes definieren Sie einen Befehl namens make:app_migration eigene neue Klasse. Wofür wird diese Klasse verwendet? Wird verwendet, um Zeichen in die neu hinzugefügte Migrationsdatei auszugeben Standardmäßig rufe ich die von mir definierte Schema-Klasse auf. Die standardmäßig hinzugefügten Felder sind

Informationen zur erweiterten Schema-Datenmigration von Laravel

10. Die Konfiguration ist etwas mühsam, aber es ist wirklich einfach, sie zu erweitern besserer Weg? Danke in den Kommentaren, hehe

Das obige ist der detaillierte Inhalt vonInformationen zur erweiterten Schema-Datenmigration von Laravel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage