Documentation · Chapitre 07

Installer seulement
ce dont le projet a besoin.

Une application classique n’est pas obligée d’utiliser une base. Le module Data reste donc une dépendance explicite.

Nous remplaçons le stockage temporaire de reading-list par SQLite, sans changer l’objectif de l’application.

Préparez Data avec SQLite

phpaml — zsh
aml install data --driver sqlite
aml db:show
aml data:doctor

L’installation ajoute phpaml/data, prépare src/models, src/Data, runtime/database/migrations, runtime/database/seeders et le stockage SQLite, puis inscrit la section data dans phpaml.json.

Modèle simple ou entité persistante ?

aml make:model Book

Crée une classe métier simple dans src/models. Data n’est pas requis; rien n’est enregistré automatiquement.

aml make:entity Book

Crée un modèle qui étend AML\Data\Entity et peut être lu ou écrit par DbSet.

La configuration générée

phpaml — zsh
"data": {
  "default": "main",
  "connections": {
    "main": {
      "driver": "sqlite",
      "database": "runtime/storage/database.sqlite"
    }
  },
  "migrations_path": "runtime/database/migrations",
  "models_path": "src/models"
}

DATA_DRIVER, DATA_DATABASE, DATA_DSN et les autres variables DATA_* peuvent remplacer les valeurs sur une installation précise.