Inicio > Desarrollo Web > Tutoriales de Laravel > Fix Tableseeder Dont Exist Php Artisan Migrate Seed Laravel 5

Fix Tableseeder Dont Exist Php Artisan Migrate Seed Laravel 5

Diego Cortés
Diego Cortés
September 10, 2016
Fix Tableseeder Dont Exist Php Artisan Migrate Seed Laravel 5

Hola a todos!,

a la hora de trabajar en un proyecto Laravel 5 y crear un nuevo seeder lo agregamos a nuestro DatabaseSeeder, en este ejemplo hemos agregado el seeder ReportsTableSeeder quedando nuestro archivo DatabaseSeeder de la siguiente manera:

<?php

use Illuminate\Database\Seeder;

class DatabaseSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        $this->call(UsersTableSeeder::class);
        $this->call(ReportsTableSeeder::class);
    }
}

Hasta acá todo bien, cuando ejecutamos

php artisan migrate --seed

En algunas ocaciones nos lanza el siguiente error:

[ReflectionException]
  Class ReportsTableSeeder does not exist

Acá tenemos distintas opciones, paso a enumerar las que se me ocurren en este momento:

  • Claramente el archivo no existe
  • El archivo existe pero el nombre de la clase no corresponde (en este ejemplo la clase debe ser class ReportsTableSeeder extends Seeder)

Una vez confirmamos que todo esto esta bien y no tenemos ninguno de éstos problemas, osea, nuestro archivo existe dentro de la carpeta seeders de nuestro proyecto y el nombre de la clase es correcto la solución a esto es limpiar las cache y optimizar nuestro Loader para ello veamos la solución

Solución:

 Ejecutamos todos estos comandos en el siguiente orden: 

php artisan optimize
php artisan cache:clear
php artisan route:clear
php artisan view:clear
php artisan config:clear
No es necesario ejecutarlos todos, pero les recomiendo hacerlo si están en fase de desarrollo.

 Una vez ejecutados estos comandos uno por uno, debemos eliminar las tablas creadas anteriormente al ejecutar:

php artisan migrate --seed

Si da error, es probable que tengamos otros seeders antes de nuestro seeder no encontrado, y esto haya creado las otras tablas. Para resolver esto, accedemos a nuestra base de datos y eliminamos las tablas creadas. Una vez eliminadas las tablas, repetimos el proceso ejecutando: 

php artisan migrate --seed

Y finalmente ahora si nos proceso nuestro seeder ReportsTableSeeder 😀

Espero le sirva a más de alguien.

Diego Cortés
Diego Cortés
Full Stack Developer, SEO Specialist with Expertise in Laravel & Vue.js and 3D Generalist

Categorías

Page loaded in 28.46 ms