Sembradora de base de datos en Laravel

Sembradora de base de datos en Laravel
Los datos de la aplicación web se almacenan permanentemente en la base de datos y son una parte esencial de un proyecto web. A veces requiere probar la aplicación con datos ficticios. Esta tarea se puede hacer en el proyecto Laravel utilizando un sembrador de base de datos. Laravel contiene clases de semillas para agregar muchos datos falsos rápidamente a la base de datos para fines de prueba, y estas clases se almacenan en la ubicación, base de datos/sembradoras. El Databaseseeder La clase se usa de forma predeterminada en Laravel para usar clases de sembradores. La forma de sembrar datos en la base de datos mediante el uso de las clases de semillas del Laravel se ha mostrado en este tutorial.

Requisitos previos:

Debe completar las siguientes tareas antes de comenzar la tarea de siembra de la base de datos.

  1. Crear un nuevo proyecto de Laravel llamado SeederProject. Aquí, el compositor se ha utilizado para crear el proyecto Laravel. Si el compositor no está instalado antes de entonces, debe instalarlo antes de ejecutar el siguiente comando.
    $ compositor create-proyect Laravel/Laravel SeederProject
  1. Ir a la carpeta del proyecto.
    $ CD SeederProject
  2. Todos los ejemplos de este tutorial han sido probados en Laravel versión 9+. Verifique la versión instalada de Laravel.
    $ PHP Artisan -Versión

Base de datos de configuración:

Debe crear una base de datos en MySQL para implementar la tarea de siembra de la base de datos. Complete las siguientes tareas para crear una base de datos y configurar la base de datos para el proyecto Laravel.

  1. Ejecute el siguiente comando SQL para crear una base de datos llamada db_seeder del mensaje mysql.
    MySQL> Crear base de datos db_seeder;
  2. Abre el .envidia Archivo del proyecto Laravel e inicialice los valores para la siguiente información en función de la base de datos.
    Db_connection = mysql
    Db_host = localhost
    Db_port = 3306
    Db_database = db_seeder
    Db_username = 'nombre de usuario'
    Db_password = 'contraseña'

Crear modelo y archivo de migración para una tabla:

Vaya a la carpeta del proyecto Laravel y ejecute el siguiente comando para crear el modelo y el archivo de migración para el Clientes mesa.

$ PHP Artisan Make: Model Clients -M

La siguiente salida aparecerá si el modelo y el archivo de migración se han creado con éxito. El archivo modelo nombrado clientes.PHP y el archivo de migración llamado 2022_03_09_141143_create_customers_table.PHP ha sido creado aquí. El archivo de migración requerirá modificar para agregar los campos de la tabla de clientes en función de los requisitos del proyecto, y se ha realizado en la siguiente parte del tutorial.

Modificar el archivo de migración:

Abra el archivo de migración desde la ubicación, base de datos/migración, y modifique el archivo con el siguiente contenido, de acuerdo con el contenido del archivo de migración, 7 campos. Estos son identificación, nombre. dirección, correo electrónico, contact_no. creating_at y actualated_at campos.

use Illuminate \ Database \ Migrations \ Migration;
use Illuminate \ Database \ Schema \ BluePrint;
use iluminate \ support \ facades \ Schema;
devolver la nueva clase extiende la migración

/**
* Ejecutar las migraciones.
*
* @return void
*/
función pública up ()

Schema :: Create ('CLIENTS', FUNTION (BluePrint $ Table)
$ table-> id ();
$ table-> string ("nombre", 30);
$ table-> text ("dirección");
$ table-> string ("correo electrónico", 50);
$ table-> string ("contact_no", 30);
$ table-> timestamps ();
);

/**
* Invertir las migraciones.
*
* @return void
*/
Función pública Down ()

Schema :: Dropifexists ('clientes');

;

Cree la tabla basada en el archivo de migración:

Ejecute el siguiente comando migrar para crear el Clientes Tabla en la base de datos. Los datos falsos se insertarán en esta tabla.

$ PHP Artisan Migrate

Crear fábrica para generar los datos falsos:

Ejecute el siguiente comando para crear la fábrica que se usará para insertar datos falsos en la tabla de clientes.

$ PHP Artisan Make: Factory ClientsFactory -Model = Clientes

La siguiente salida aparecerá si la fábrica se crea con éxito y el Cliente Factory.php el archivo se crea dentro del base de datos/fábricas carpeta del proyecto.

Abre el Cliente Factory.php archivo y modificar el contenido del archivo con el siguiente contenido. Se han utilizado tres propiedades Faker para agregar un nombre falso, correo electrónico y dirección en el script. Estos son Faker-> Nombre, Faker-> Correo electrónico, y Faker-> Dirección. Se ha utilizado un método Faker para generar el número de teléfono falso. El nombre del método es numerify (). Este método insertará un número de teléfono falso que comienza con '880', cualquier dígito numérico de 4 números seguidos de '-', y cualquier dígito numérico de 6 números seguidos de otro '-.'

Base de datos de espacio de nombres \ fábricas;
use Illuminate \ Database \ ELOQUENT \ Factories \ Factory;
Use App \ Models \ CLIENTS;
/**
* @extends \ iluminate \ database \ eloquent \ fábrica \ fábrica
*/
Clase CustomerFactory extiende la fábrica

/**
* Defina el estado predeterminado del modelo.
*
* @@return array
*/
protegido $ modelo = clientes :: class;
Definición de función pública ()

devolver [
'nombre' => $ this-> faker-> nombre,
'dirección' => $ this-> faker-> dirección,
'correo electrónico' => $ this-> faker-> correo electrónico,
'Contact_no' => $ this-> faker-> numerify ('880-####-######')
];

Crear clase de siembra:

Ejecute el siguiente comando para crear la clase Seeder utilizada para ejecutar la fábrica creada antes.

$ PHP Artisan Make: Seeder ClientSseeder

La siguiente salida aparecerá si la clase Seeder se crea con éxito y el Científico.php La clase se crea dentro del base de datos/sembradoras carpeta del proyecto.

Abre el Seseador de clientes.php archivo y modificar el contenido del archivo con el siguiente contenido. Según el script, se insertarán 20 registros falsos después de ejecutar el comando de semillas.

Base de datos del espacio de nombres \ sembradors;
use Illuminate \ Database \ Console \ Seeds \ sin ModelEvents;
use Illuminate \ Database \ Seeder;
Use App \ Models \ CLIENTS;
Cliente de clase SEEDER extiende SEEDER

/**
* Ejecute las semillas de la base de datos.
*
* @return void
*/
Función pública Run ()

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

Datos de semillas en la tabla:

Ejecute el siguiente comando para ejecutar la clase SEEDER que insertará 20 registros falsos en la tabla de los clientes.

$ PHP DB Artisan: Seed --Class = CustomerSeeder

La siguiente salida aparecerá si la siembra de la base de datos se realiza con éxito. Se insertarán 20 registros falsos en la tabla de clientes después de ejecutar el comando.

A continuación, puede abrir la tabla de los clientes para verificar la siembra de la base de datos se ha realizado correctamente y se han agregado 20 registros falsos. Abra la tabla de los clientes desde la URL, http: // localhost/phpmyadmin y verifique el contenido de la tabla. Obtendrá la siguiente salida similar después de abrir la tabla.

Conclusión:

La tarea de siembra de la base de datos en el proyecto Laravel se ha mostrado en este tutorial creando una tabla simple. Agregar una gran cantidad de datos manualmente para fines de prueba lleva mucho tiempo. La función de siembra de base de datos de Laravel facilita. Después de leer este tutorial, espero que este tutorial ayude a los usuarios de Laravel a comprender el propósito de usar la siembra de la base de datos correctamente.