Fix TableSeeder don’t exist “php artisan migrate –seed” Laravel 5

Si te gustó compartelo :)

[AdSense-A]

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 debemos:

 

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 ejecutar todos, pero les recomiendo hacerlo en caso que este en fase de desarrollo, unas vez ejecutados estos comandos uno a uno, tenemos que eliminar las tablas creadas, anteriormente al ejecutar php artisan migrate –seed, claro, dió error pero lo más probable es que si tenemos otros seeders antes de nuestro seeder no encontrado, tendremos las otras tablas creadas, para ello accedemos a nuestra base de datos y eliminamos las tablas para repetir el proceso, una vez borradas las tablas de nuestra base de datos volvemos a ejecutar:

$ php artisan migrate --seed

Y finalmente ahora si nos proceso nuestro seeder ReportsTableSeeder 😀

Espero le sirva a más de alguien.

 


Si te gustó compartelo :)

Comments

comments

Sidebar