IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Tutoriel pour apprendre à utiliser le framework Laravel 5.3

Les données


précédentsommairesuivant

IX. Un concepteur de schéma

Dans les chapitres précédents, on a plusieurs fois dû créer des migrations, des populations, des contrôleurs, des modèles… Artisan possède des commandes pour effectuer certaines de ces opérations, mais il nous a fallu créer pas mal de code qui, de toute évidence, pourrait plus ou moins facilement être automatisé.

Il est possible d'améliorer les commandes d'Artisan ou même de s'en créer des nouvelles. Il existe aussi des assistants pour nous aider dans ces tâches un peu pénibles ou répétitives. Je vous propose dans ce chapitre de découvrir le concepteur de schéma Laravel Schema Designer.

IX-A. Mise en route

Laravel Schema Designer est un concepteur de schéma, c'est-à-dire qu'il vous permet de réaliser de façon visuelle des tables avec toutes leurs caractéristiques ainsi que les relations qui les unissent. À l'issue de cette composition graphique, il peut générer le code des migrations, les modèles, et bien d'autres choses…

On va voir comment on l'utilise avec un exemple simple de base bibliographique qui nous servira dans le prochain chapitre.

Mais la première chose que vous devez faire est de créer un compte (gratuit) sur le site.

Ensuite vous donnez un nom à votre base :

Image non disponible

Vous pouvez alors commencer à créer !

Le but est d'obtenir ces quatre tables avec ces relations :

Image non disponible

On a les relations :

  • 1:n entre les éditeurs et les livres ;
  • n:n entre les auteurs et les livres.

IX-B. Créer des tables

IX-B-1. Table des auteurs

Il faut cliquer sur ce lien pour ajouter une table :

Image non disponible

Ensuite vous renseignez les champs :

Image non disponible

Vous avez alors votre table visuellement à l'écran :

Image non disponible

On va ajouter une colonne à cette table, il suffit de cliquer sur le bouton avec le signe + :

Image non disponible

Le formulaire est très complet, il suffit de le renseigner :

Image non disponible

Après validation on voit notre nouvelle colonne dans la table :

Image non disponible

IX-B-2. Table des éditeurs

Vous allez procéder exactement de la même manière pour la table des éditeurs, on va juste choisir une autre couleur :

Image non disponible

Créez aussi une colonne nom avec les mêmes propriétés que celles de la table des auteurs. Finalement vous avez donc la table des éditeurs :

Image non disponible

IX-B-3. Table des livres

Créez la table des livres :

Image non disponible

Ajouter les colonnes titre et description (cochez « fillable » pour les deux) :

Image non disponible

On va maintenant ajouter la colonne clé étrangère pour les éditeurs :

Image non disponible

La table est maintenant complète :

Image non disponible

IX-B-4. Table pivot

Il ne nous manque plus que la table pivot entre les auteurs et les livres (plusieurs auteurs peuvent écrire un livre et un auteur peut écrire plusieurs livres). On va renseigner le formulaire comme on l'a fait pour les autres tables même si on sait qu'on n'aura pas besoin de modèle pour cette table, mais c'est nécessaire pour le fonctionnement du concepteur :

Image non disponible

Ajoutez les deux clés étrangères comme on l'a fait ci-dessus (une pour les auteurs et l'autre pour les livres), vous devez donc avoir la table ainsi :

Image non disponible

IX-C. Créer les relations

Maintenant que les tables sont prêtes, on va ajouter les relations.

IX-C-1. Les éditeurs

Commençons par la table des éditeurs. Cliquez sur le bouton le plus à gauche :

Image non disponible

Renseignez ainsi le formulaire :

Image non disponible

La relation se crée visuellement :

Image non disponible

IX-C-2. Les livres

On va créer la relation réciproque à partir des livres :

Image non disponible

On a maintenant les deux relations :

Image non disponible

Mais on sait que les livres sont aussi en relation avec les auteurs alors on ajoute cette relation :

Image non disponible

IX-C-3. Les auteurs

Il ne nous manque plus que la relation réciproque entre auteurs et livres :

Image non disponible

On a maintenant terminé notre travail de conception. Si vous êtes un peu perdu, j'ai mis le schéma complet en partage ici.

IX-D. La génération

Il ne vous reste plus qu'à cliquer sur ce lien pour tout générer :

Image non disponible

Regardez ce que vous recevez :

Image non disponible

Ce qui est vraiment intéressant dans tout ça ce sont les migrations et les modèles.

Mettez ces migrations dans une installation fraîche de Laravel en supprimant les deux de base pour les utilisateurs :

Image non disponible

Lancez maintenant ces migrations :

Image non disponible

Vous créez les tables :

Image non disponible

C'est quand même plus sympathique que d'écrire tout le code des migrations.

Récupérez également les modèles qui nous serviront dans le prochain chapitre de ce cours.

IX-E. En résumé

  • Le concepteur de schéma « Laravel Schema designer » permet de créer de façon graphique un schéma de base de données.
  • On peut créer des tables et des relations.
  • La génération finale fournit de nombreux fichiers : migrations, modèles, contrôleurs, vues, routes…

précédentsommairesuivant

Copyright © 2017 Laravel. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.