SEDER DE BASE DE DATABASE À LARAVEL

SEDER DE BASE DE DATABASE À LARAVEL
Les données d'application Web sont stockées en permanence dans la base de données et constitue une partie essentielle d'un projet Web. Parfois, il faut tester l'application avec des données factices. Cette tâche peut être effectuée dans le projet Laravel à l'aide d'un Seed de base de données. Laravel contient des classes de semences pour ajouter rapidement de nombreuses données dans la base de données à des fins de test, et ces classes sont stockées à l'emplacement, base de données / semences. Le Databaseeseder La classe est utilisée par défaut dans Laravel pour utiliser les classes de semences. La voie des données d'ensemencement dans la base de données en utilisant les classes de semences du Laravel a été montrée dans ce tutoriel.

Conditions préalables:

Vous devez effectuer les tâches suivantes avant de commencer la tâche de semis de base de données.

  1. Créer un nouveau projet Laravel nommé SeederProject. Ici, le compositeur a été utilisé pour créer le projet Laravel. Si la compositeur n'est pas installé avant alors, vous devez l'installer avant d'exécuter la commande suivante.
    $ Composer Create-Project Laravel / Laravel SeederProject
  1. Allez dans le dossier du projet.
    $ CD SeederProject
  2. Tous les exemples de ce tutoriel ont été testés dans Laravel version 9+. Vérifiez la version installée de Laravel.
    $ php artisan --version

Configuration de la base de données:

Vous devez créer une base de données dans MySQL pour implémenter la tâche de semis de base de données. Effectuez les tâches suivantes pour créer une base de données et configurez la base de données du projet Laravel.

  1. Exécutez la commande SQL suivante pour créer une base de données nommée db_seeder de l'invite mysql.
    MySQL> Créer une base de données db_seeder;
  2. Ouvrir le .env Fichier du projet Laravel et initialisez les valeurs des informations suivantes en fonction de la base de données.
    Db_connection = mysql
    Db_host = localhost
    Db_port = 3306
    Db_database = db_seeder
    Db_username = 'nom d'utilisateur'
    Db_password = 'mot de passe'

Créer un modèle et un fichier de migration pour un tableau:

Accédez au dossier Laravel Project et exécutez la commande suivante pour créer le modèle et le fichier de migration pour le Clients tableau.

$ PHP Artisan Make: Model Clients -M

La sortie suivante apparaîtra si le modèle et le fichier de migration ont été créés avec succès. Le fichier modèle nommé client.PHP et le fichier de migration nommé 2022_03_09_141143_create_customers_table.PHP a été créé ici. Le fichier de migration devra modifier pour ajouter les champs du tableau des clients en fonction des exigences du projet, et cela a été fait dans la prochaine partie du tutoriel.

Modifiez le fichier de migration:

Ouvrez le fichier de migration à partir de l'emplacement, base de données / migration, et modifier le fichier avec le contenu suivant, selon le contenu du fichier de migration, 7 champs. Ce sont des identifiants, nom. adresse, e-mail, contact_no. Created_at et Updated_at Fields.

Utiliser illuminate \ database \ Migrations \ Migration;
Utilisez Illuminate \ Database \ Schema \ Blueprint;
Utiliser illuminate \ support \ FACADES \ Schema;
Rendre une nouvelle classe prolonge la migration

/ **
* Exécutez les migrations.
*
* @return void
* /
Fonction publique UP ()

Schema :: Create ('Clients', fonction (Table Blueprint $)
$ table-> id ();
$ table-> String ("name", 30);
$ table-> text ("adresse");
$ Table-> String ("Email", 50);
$ Table-> String ("Contact_No", 30);
$ Table-> TimeStamps ();
);

/ **
* Inverser les migrations.
*
* @return void
* /
Fonction publique Down ()

Schema :: DropIfexists («clients»);

;

Créez le tableau en fonction du fichier de migration:

Exécutez la commande migrate suivante pour créer le Clients table dans la base de données. Les fausses données seront insérées dans ce tableau.

$ php artisan migrer

Créez une usine pour générer les fausses données:

Exécutez la commande suivante pour créer l'usine qui sera utilisée pour insérer de fausses données dans le tableau des clients.

$ PHP Artisan Make: Factory ClientsFactory - Model = Clients

La sortie suivante apparaîtra si l'usine est créée avec succès et le ClientsFactory.php le fichier est créé à l'intérieur du base de données / usines dossier du projet.

Ouvrir le ClientsFactory.php fichier et modifier le contenu du fichier avec le contenu suivant. Trois propriétés Faker ont été utilisées pour ajouter un faux nom, un e-mail et une adresse dans le script. Ceux-ci sont Faker-> Nom, Faker-> Email, et FAKER-> Adresse. Une méthode Faker a été utilisée pour générer le faux numéro de téléphone. Le nom de la méthode est Numerify (). Cette méthode insérera un faux numéro de téléphone à partir de «880», tous les chiffres numériques de 4 numéros suivis de «-» et de tous les chiffres numériques de 6 numéros suivis d'un autre »-.'

Namespace Database \ usines;
Utiliser illuminate \ database \ elogent \ usine \ factory;
Utilisez App \ Models \ Clients;
/ **
* @Extend
* /
CLASSE CLIENTSFACTORY étend l'usine

/ **
* Définissez l'état par défaut du modèle.
*
* @return Array
* /
Protégé $ modèle = Clients :: Class;
Définition de la fonction publique ()

retour [
'name' => $ this-> Faker-> nom,
'adresse' => $ this-> Faker-> Adresse,
'email' => $ this-> Faker-> e-mail,
'Contact_No' => $ this-> Faker-> Numerify ('880 - #### - ######')
]]

Créer des cours de semences:

Exécutez la commande suivante pour créer la classe Seeder utilisée pour exécuter l'usine créée avant.

$ PHP Artisan Make: Seeder Clientseder

La sortie suivante apparaîtra si la classe de semences est créée avec succès et le CustomersEdider.php La classe est créée à l'intérieur du base de données / semences dossier du projet.

Ouvrir le Clientsseeder.php fichier et modifier le contenu du fichier avec le contenu suivant. Selon le script, 20 faux enregistrements seront insérés après avoir exécuté la commande de semences.

Base de données de l'espace de noms \ Seedrs;
Utilisez illuminate \ database \ Console \ Seeds \ WithoutModeLevents;
Utiliser illuminate \ database \ Seeder;
Utilisez App \ Models \ Clients;
CLASSE CLIENTSEEDER étend Seeder

/ **
* Exécutez les graines de base de données.
*
* @return void
* /
Fonction publique Run ()

Clients :: factory () -> count (20) -> create ();

Données de semences dans le tableau:

Exécutez la commande suivante pour exécuter la classe Seeder qui inséra 20 faux enregistrements à la table des clients.

$ php artisan db: semence --classe = clientseeder

La sortie suivante apparaîtra si le semis de base de données est effectué avec succès. 20 faux enregistrements seront insérés dans la table des clients après avoir exécuté la commande.

Ensuite, vous pouvez ouvrir le tableau des clients pour vérifier que l'ensemencement de la base de données a été effectué correctement et 20 faux enregistrements ont été ajoutés. Ouvrez le tableau des clients de l'URL, http: // localhost / phpmyadmin, et vérifiez le contenu du tableau. Vous obtiendrez la sortie similaire suivante après avoir ouvert le tableau.

Conclusion:

La tâche de semis de base de données dans le projet Laravel a été montrée dans ce tutoriel en créant un tableau simple. L'ajout d'une grande quantité de données manuellement à des fins de test. La fonction de semis de base de données de Laravel facilite cette tâche. Après avoir lu ce tutoriel, j'espère que ce tutoriel aidera les utilisateurs de Laravel à comprendre le but d'utiliser correctement l'ensemencement de la base de données.