He creado algunas clases de migración en mi aplicación para crear las tablas que necesito, pero sigo recibiendo errores. Necesito ejecutar este comando:
composer dump-autoload
Solo entonces vuelve a funcionar como se esperaba. ¿Estoy haciendo algo mal que genera este error o este es un comportamiento normal con las migraciones?
A continuación se muestra el error que obtengo al ejecutar el proceso de migración:
[Symfony\Component\Debug\Exception\FatalErrorException]
Class 'CreateVideoStatusTable' not found
Respuestas:
Bien, creo que sé el problema que tienes.
Básicamente, debido a que Composer no puede ver los archivos de migración que está creando, debe ejecutar el comando dump-autoload que no descargará nada nuevo, pero busca todas las clases que necesita incluir nuevamente. Simplemente regenera la lista de todas las clases que deben incluirse en el proyecto (autoload_classmap.php), y esta es la razón por la que su migración funciona después de ejecutar ese comando.
Cómo solucionarlo (posiblemente) Necesita agregar información adicional a su archivo composer.json.
"autoload": { "classmap": [ "PATH TO YOUR MIGRATIONS FOLDER" ], }
Debe agregar la ruta a su carpeta de migraciones a la matriz del mapa de clases. Luego ejecute los siguientes tres comandos ...
Esto borrará los archivos compilados actuales, actualizará las clases que necesita y luego las volverá a escribir para que no tenga que volver a hacerlo.
Lo ideal es que lo ejecutes
composer dump-autoload -o
para una carga más rápida de tus páginas web. La única razón por la que no es predeterminado es porque tarda un poco más en generarse (pero solo se nota un poco).Espero que puedas arreglar esto, ya que es muy molesto :(
fuente
Deberías correr:
y si no funciona debes:
fuente
Respuesta corta: los mapas de clase son estáticos, mientras que la carga automática de PSR es dinámica.
Si no desea utilizar mapas de clase, utilice la carga automática de PSR en su lugar.
fuente