2016-06-04 8 views
0

Ich habe eine Laravel App, die einige der Modelle mit einer Lumen App teilt.Share-Datenbank zwischen einem Lumen und Laravel App

Die Laravel-App bietet die Admin-Oberfläche für Benutzer zum Modifizieren der Modelle und die Lumen-App bietet eine API-Schnittstelle für einige dieser Modelle.

Im Moment bin ich Kopieren/Einfügen von Modellen zwischen den beiden Anwendungen, aber irgendwann werde ich ein separates Composer-Projekte für die gemeinsamen Modelle erstellen und sie mit Composer einschließen.

Jetzt meine Frage ist, wie ich die gleiche Datenbank mit Migrationen für beide Projekte teilen? Im Moment bekomme ich einen Fehler beim Ausführen von Migrationen, da jedes Projekt versucht, die Migrationstabelle des anderen Projekts zu finden.

+0

Ich mache fast dasselbe. Nur eine kurze Frage. Wenn sich ein Benutzer bei der Laravel-App angemeldet hat - wie überprüfen Sie die Anmeldeinformationen? Durch Laravel oder über API (Lumen)? –

+0

Durch Laravel. In meinem Fall haben die API und App unterschiedliche Benutzer und unterschiedliche Authentifizierungsmechanismen. – Sudar

Antwort

1

Erstellen Sie alle Migrationen, die Sie nur auf einer Seite benötigen, zum Beispiel in Laravel App. Wenn Sie eine Migration ausführen, erstellen/ändern Sie Ihre Datenbank. Wenn die Laravel-App und das Lumen mit derselben Datenbank verbunden sind, müssen Sie kein Migrationssystem für Laravel und ein anderes für Lumen erstellen. Wenn Sie die gleiche Datenbank verwenden, benötigen Sie nur ein Migrationssystem, zwei haben keinen Sinn.

Wenn Sie die gleichen Modelle in beiden Apps haben, kein Problem!

Nach, verbinden Sie in der gleichen DB mit den beiden Apps.

Ich habe das gleiche Szenario funktioniert wie ein Charme!

+0

Danke. Es kam mir nicht in den Sinn, dass ich alle Migrationen (und db seed) als Teil einer einzigen App machen kann. – Sudar