Introduction
Laravel prend en charge officiellement les bases de données suivantes.- MySQL / MariaDB
- PostgreSQL
- SQLite
- SQL Server
Cette page couvre les prérequis de connexion. Pour les requêtes pratiques, consultez le Query Builder, pour la gestion de schéma les migrations, et pour le peuplement initial le seeding.
Configuration
Les paramètres de base de données sont centralisés dansconfig/database.php.
Vous choisissez la connexion par défaut avec default et définissez les détails de chaque connexion dans connections.
.env.
DB_CONNECTION=sqlite et le chemin de DB_DATABASE.
Séparation lecture / écriture
Pour séparer les lectures (SELECT) et les écritures (INSERT / UPDATE / DELETE) sur des hôtes différents, configurez read et write dans la même connexion.
sticky à true, les lectures effectuées après une écriture dans la même requête sont bloquées sur la connexion write.
Connexion PostgreSQL avec pool
Si vous utilisez un service PostgreSQL managé fournissant un pooling de connexions en mode transaction (type PgBouncer), configurez les optionspooled et direct.
pooled activé, Laravel effectue le routage automatiquement.
Pour utiliser explicitement la connexion
direct dans le code, ajoutez le suffixe ::direct au nom de connexion.
Connexions multiples
Vous pouvez définir plusieurs connexions dansconfig/database.php et basculer avec DB::connection().
Exécution de requêtes SQL
La façadeDB propose des méthodes dédiées par type de requête.
Écoute des requêtes
Pour suivre le SQL exécuté, enregistrezDB::listen() dans la méthode boot() d’un service provider.
Transactions
Pour traiter plusieurs mises à jour comme une unité atomique, utilisezDB::transaction().
En cas d’exception, Laravel effectue automatiquement le rollback.
attempts.
beginTransaction / rollBack / commit.
Prochaines étapes
Query Builder
Découvrez comment construire des requêtes en toute sécurité avec la configuration de connexion.
Migrations
Apprenez à versionner le schéma de votre base de données.
Seeding
Alimentez votre base avec des données de développement et de test de manière reproductible.