SQLite avec Symfony
Stocker des données dans SQLite avec Symfony

1. Configurer la BD SQLite dans .env
Modifiez le fichier .env (ou .env.local) pour utiliser SQLite :
DATABASE_URL="sqlite:///%kernel.project_dir%/var/data.db"
Symfony créera automatiquement le fichier
data.dbdans le dossiervar/s’il n’existe pas.
2. Installer le driver SQLite
Vérifiez que l’extension PHP pdo_sqlite est activée :
php -m | grep pdo_sqlite
Si absent, activez-la dans php.ini :
extension=pdo_sqlite
3. Créer une entité
Par exemple, pour créer l'entité Product, utilisez la commande :
php bin/console make:entity Product
Définissez vos champs (ex. name, price).
4. Créer la base de données et les tables
php bin/console doctrine:database:create
php bin/console make migration
php bin/console doctrine:migration:migrate
La commande
doctrine:database:createcrée le fichier.dbpour SQLite (s'il n'existe pas).
5. Insérer des données via un contrôleur
Exemple dans un contrôleur :
<?php
namespace App\Controller;
use App\Entity\Product;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
class ProductController extends AbstractController
{
public function createProduct(EntityManagerInterface $entityManager): Response
{
$product = new Product();
$product->setName('Example Product');
$product->setPrice(19.99);
$entityManager->persist($product);
$entityManager->flush();
return new Response('Produit enregistré !');
}
}
Avantages de SQLite avec Symfony
- Pas de serveur à gérer.
- Léger, idéal pour le développement ou les projets simples.
- Parfait pour les applications standalone ou les PWA.
attention
SQLite ne supporte pas toutes les fonctionnalités des SGBD relationnels (ex. contraintes de clé étrangère par défaut, certaines fonctions SQL avancées). Vérifiez la compatibilité selon vos besoins.