Ist es möglich, Laravel 4 ohne eine Standarddatenbank zu verwenden?

9

Ich erstelle eine Anwendung, die Informationen aus verschiedenen Datenbanken liest, aber keine eigene Datenbank hat, da nirgendwo Informationen geschrieben werden.

Grundsätzlich wählt ein Benutzer einen Datensatz und einen Typ aus, und die Anwendung generiert basierend auf ihren Auswahlmöglichkeiten eine .pdf -Datei. Ich habe mehrere Verbindungen in app/config/database.php definiert, aber ich möchte keine Verbindung zu ihnen herstellen. Gibt es eine Möglichkeit, Laravel nicht mitzuteilen, eine Verbindung zu einer Datenbank herzustellen? Ich habe ein paar Dinge ausprobiert (alles in app/config/database.php ), zuerst einmal:

%Vor%

Was beide zurückgeben:

  

Undefinierter Index: Treiber

Ich habe es auch versucht:

%Vor%

welches wiederum zurückgibt:

  

Nicht unterstützter Treiber []

     

Nicht unterstützter Host []

     

...

Und schließlich setzen Sie 'default' => '' , was zurückgibt:

  

Datenbank [] nicht konfiguriert.

Ich habe Wege gefunden, Laravels Modelle ohne eine Datenbankverbindung zu verwenden, aber nicht wirklich Laravel selbst.

Bearbeiten :

Die Verbindung zu einer bestehenden mysql-Verbindung einstellen und keine Datenbank auswählen funktioniert:

%Vor%

Aber ich bin mir nicht sicher, ob das der richtige Weg ist. Es fühlt sich an wie ein Work-Around und keine tatsächliche Lösung.

    
Tim Lewis 23.04.2015, 15:48
quelle

3 Antworten

4

Ich würde Folgendes tun:

%Vor%

und für die sqlite Verbindungseinstellungen

%Vor%

Auf diese Weise wird eine In-Memory-Datenbank verwendet, und die Datenbank wird nicht mehr existieren, wenn die Datenbankverbindung hergestellt wird ist geschlossen, und da Sie keine Verbindung öffnen, haben Sie nie eine lokale Datenbank geöffnet.

Sie können den Datenbankdienstanbieter auch aus Ihrer app.php config-Datei entfernen:

%Vor%

und die Fassaden für Fluent und Eloquent in der gleichen Datei:

%Vor%

verhindert, dass Sie sich mit lokalen Datenbanken verbinden können und nicht einmal die soeben eingerichtete sqlite -Datenbankverbindung booten.

    
Andrew Willis 26.04.2015 15:08
quelle
0

Was Sie tun müssen, definieren Sie die Verbindung in der Datei app / config / database.php und geben Sie die Verbindung an, wenn Sie eine Abfrage mit der DB :: connection ('connection_name') von Laravel ausführen. Weitere Informationen hier - & gt; Ссылка

    
user4828818 24.04.2015 13:21
quelle
0

Definieren Sie einfach Ihren Datenbanktreiber als 'sqlite' in der Datenbankkonfiguration.

%Vor%

Solange Sie im Standardabschnitt sqlite config nichts geändert haben, sollte alles funktionieren. Sie müssen die Datenbank nicht unbedingt verwenden, aber sie wird die Fehler beheben, die Sie erhalten haben.

Falls Sie die Standard-SQLite-Konfiguration aus irgendeinem Grund geändert haben, können Sie die folgenden Schritte ausführen, um die SQLite-Datenbank zu konfigurieren.

%Vor%

Stellen Sie außerdem sicher, dass diese 'production.sqlite'-Datei vorhanden ist, falls dies nicht bereits der Fall ist. Sie können dies einfach über die Befehlszeile tun:

%Vor%     
mass6 24.04.2015 21:42
quelle

Tags und Links