PHPackages                             impulsephp/db - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. impulsephp/db

ActiveLibrary[Database &amp; ORM](/categories/database)

impulsephp/db
=============

Cycle ORM provider for ImpulsePHP with annotated entity discovery, deterministic schema snapshots, and automatic dev-time migrations.

00PHP

Since Apr 8Pushed 2mo agoCompare

[ Source](https://github.com/ImpulsePHP/db)[ Packagist](https://packagist.org/packages/impulsephp/db)[ RSS](/packages/impulsephp-db/feed)WikiDiscussions main Synced 2w ago

READMEChangelogDependenciesVersions (1)Used By (0)

ImpulsePHP DB
=============

[](#impulsephp-db)

`impulsephp/db` fournit l'integration Cycle ORM pour ImpulsePHP, avec decouverte automatique des entites, generation d'un snapshot de schema deterministe et gestion automatique des migrations en environnement de developpement.

Ce que fait le package
----------------------

[](#ce-que-fait-le-package)

- enregistre `Cycle\Database\DatabaseManager`, `Cycle\ORM\ORMInterface`, `PDO` et `Impulse\Db\Contracts\DbInterface` dans le conteneur ;
- scanne les entites de l'application uniquement dans `src/Entity` ;
- compile un snapshot JSON deterministe de la structure ORM ;
- stocke les artefacts techniques dans `var/db` ;
- genere ou met a jour les migrations dans `migrations/` a la racine de l'application ;
- applique automatiquement les migrations pendantes en `dev` ;
- affiche des notifications developpeur de succes ou d'erreur dans l'interface.

Prerequis
---------

[](#prerequis)

- PHP 8.2 ou superieur ;
- `ext-pdo` ;
- `impulsephp/core` ;
- une application ImpulsePHP avec un fichier `impulse.php` a la racine.

Installation
------------

[](#installation)

```
composer require impulsephp/db
```

Le provider est declare via `extra.impulse-provider`. Si votre application n'utilise pas l'auto-decouverte, ajoutez `Impulse\Db\DbProvider` a votre configuration.

Configuration minimale
----------------------

[](#configuration-minimale)

Le package lit la configuration de l'application dans `impulse.php`.

Exemple SQLite :

```
