Einführung
Laravel unterstützt offiziell die folgenden Datenbanken:- MySQL / MariaDB
- PostgreSQL
- SQLite
- SQL Server
Diese Seite behandelt die Grundlagen zu Datenbankverbindungen. Praxisnahe Queries finden Sie beim Query Builder, Schema-Management bei Migrations und das Einspielen initialer Daten bei Seeding.
Konfiguration
Die Datenbank-Konfiguration ist zentral inconfig/database.php gebündelt.
Über default legen Sie die Standardverbindung fest, in connections konfigurieren Sie die einzelnen Verbindungen im Detail.
.env sollten mindestens folgende Werte gesetzt sein:
DB_CONNECTION=sqlite und den Pfad in DB_DATABASE.
Trennung von Lese- und Schreibverbindung
Wenn Sie Lese- (SELECT) und Schreiboperationen (INSERT / UPDATE / DELETE) auf verschiedene Hosts verteilen möchten, konfigurieren Sie innerhalb derselben Verbindung read und write.
sticky auf true werden Leseoperationen innerhalb desselben Requests nach einem Schreibvorgang auf die Schreibverbindung geleitet.
Pooled PostgreSQL-Verbindungen
Wenn Sie einen verwalteten PostgreSQL-Dienst mit transaktionsbasiertem Connection-Pooling verwenden (etwa PgBouncer), konfigurieren Sie die Optionenpooled und direct.
pooled aktiviert, kümmert sich Laravel automatisch um die richtige Zuordnung.
Wenn Sie in Anwendungscode explizit die Direct-Verbindung nutzen möchten, hängen Sie den Suffix
::direct an den Verbindungsnamen.
Mehrere Datenbankverbindungen
Sie können inconfig/database.php mehrere Verbindungen definieren und mit DB::connection() zwischen ihnen wechseln.
SQL-Abfragen ausführen
DieDB-Facade stellt für jeden Query-Typ eine dedizierte Methode bereit.
Query Listening
Um ausgeführte SQL-Statements nachvollziehen zu können, registrieren Sie imboot() eines Service Providers einen Listener über DB::listen().
Transaktionen
Um mehrere Änderungen als atomare Einheit zu behandeln, verwenden SieDB::transaction().
Tritt eine Ausnahme auf, führt Laravel automatisch einen Rollback aus.
attempts an.
beginTransaction / rollBack / commit.
Nächste Schritte
Query Builder
Erfahren Sie, wie Sie Abfragen sicher mithilfe Ihrer Verbindungen zusammenstellen.
Migrations
Verwalten Sie das Schema Ihrer Datenbank versioniert.
Seeding
Bringen Sie Entwicklungs- und Testdaten reproduzierbar in Ihre Datenbank.