porta microsoft php symfony laravel azure

php - microsoft - porta azure



Migraciones de Laravel: clase "no encontrada" (14)

Creo que es tarde para responder esta pregunta, pero tal vez esto ayude a alguien.

Si cambió el nombre del archivo de migración, asegúrese de su nombre interno de clase.

Por ejemplo, si cambio un nombre de migración de 2018_06_10_079999_create_admins_table.php a 2018_06_10_079999_create_managers_table.php su nombre de clase interna también debe cambiar de CreateAdminsTable a CreateManagerTable .

Estoy implementando un proyecto barebone Laravel en Microsoft Azure, pero cada vez que intento ejecutar php artisan migrate obtengo el error:

[2015-06-13 14:34:05] production.ERROR: excepción ''Symfony / Component / Debug / Exception / FatalErrorException'' con el mensaje ''Class'' ''not found'' en D: / home / site / vendor / laravel / framework / src / Illuminate / Database / Migrations / Migrator.php: 328

Seguimiento de pila:

#0 {main}

¿Cual podría ser el problema? Muchas gracias

- editar -

Clase de migración

<?php use Illuminate/Database/Schema/Blueprint; use Illuminate/Database/Migrations/Migration; class CreateUsersTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create(''users'', function(Blueprint $table) { $table->bigIncrements(''id''); $table->string(''name'', 50); $table->string(''surname'', 50); $table->bigInteger(''telephone''); $table->string(''email'', 50)->unique(); $table->string(''username'', 50)->unique(); $table->string(''password'', 50); $table->boolean(''active'')->default(FALSE); $table->string(''email_confirmation_code'', 6); $table->enum(''notify'', [''y'', ''n''])->default(''y''); $table->rememberToken(); $table->timestamps(); $table->index(''username''); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::drop(''users''); } }


Eliminé uno de los archivos de migración. enfrentó el mismo problema, mientras que php artisan migrate:rollback

Luego probé el composer dump-autoload . De nuevo apareció lo mismo.

Restablecí el archivo eliminado e intenté el composer dump-autoload y php artisan migrate:rollback . Funciona.


En mi caso fue el auto-incremento de la base de datos, en el pasado eliminé manualmente una entrada, y AUTO_INCREMENT apuntaba una más que la siguiente identificación en la tabla.

Aparentemente, Laravel usa AUTO_INCREMENT -1 para saber cuál fue la última migración realizada.


Para mí, el problema era que había nombrado mi migración 2017_12_15_012645_create_modules_problems.php, con el nombre de clase de CreateModulesProblemsTable. Tan pronto como agregué _table al nombre del archivo, todo funcionó bien.


Recibía el mismo error de clase no encontrada al intentar migrar mi proyecto. A veces son las cosas simples las que te atrapan. En mi caso, noté que el nombre de mi clase no era correcto en mi archivo de migración debido a que hice un cambio de nombre temprano y no llevé ese cambio en todo momento.

Después de corregir el nombre de la clase, realicé una carga automática de volcado del compositor y mi problema desapareció.

HTH alguien:]



Simplemente asegúrese de que su nombre de archivo de migración sea el mismo que su nombre de clase.

es decir:

Si el nombre de archivo es:

xxx_151955_create_post_translations_table.php

Entonces la clase debería ser:

CreatePostTranslationsTable


Solo asegúrese de que los siguientes dos archivos contengan el nombre de clase y el nombre de migración correctos:

C: / xampp / htdocs / StuffSpot / vendor / composer / autoload_classmap.php C: / xampp / htdocs / StuffSpot / vendor / composer / autoload_static.php


También corro en el mismo problema.

La solución para mí fue eliminar el archivo de migración, Y eliminar el registro de la tabla de "migraciones" en la base de datos.

Después de eso, corrí

compositor dump-autoload

y finalmente pude restablecer / revertir las migraciones.


Tontamente había puesto:

namespace database/migrations;

Dentro de mi migración create_users_table.php [2014_10_12_000000_create_users_table.php]

Recibí un error similar: no se encontró la clase ''CreateUsersTable''.

Eliminar esta línea en la parte superior resolvió este error.


Tuve este mismo problema hace un tiempo. Aparentemente es un problema común porque en la documentación de Laravel, incluso lo sugiere: http://laravel.com/docs/master/migrations#running-migrations

Básicamente, todo lo que tiene que hacer es actualizar algunos archivos de compositor. Simplemente ejecute:

composer dump-autoload

Esto actualizará los archivos de carga automática del compositor y luego podrá ejecutar su migración normal y ¡debería funcionar! El mejor.


Tuve una situación similar (error de clase no encontrada) después de mover un proyecto de desarrollo de Laravel 5.2 a producción. El servidor de producción estaba buscando la clase "proyecto" pero el nombre del controlador era Project.php. Una vez que cambié el nombre del archivo a project.php, fue bueno.


Para usuarios de PSR-4 Auto Loader (composer.json):

Mantenga la carpeta de migraciones dentro de la matriz classmap y no la incluya dentro del objeto psr-4 bajo carga automática. Como migraciones, la clase principal Migrator no admite espacios de nombres. Por ejemplo;

"autoload": { "classmap": [ "app/database/migrations" ], "psr-4": { "Acme//controllers//": "app/controllers" } }

Entonces corre:

php artisan clear-compiled composer dump-autoload php artisan optimize

  • Primero, borra todos los archivos compilados.
  • Second actualiza autoload_psr4.php y casi vacía autoload_classmap.php .
  • El tercero actualiza autoload_classmap.php .

A partir de este momento, no tendrá que volver a hacer esto y cualquier migración nueva funcionará correctamente.


simplemente elimine la fila en su base de datos sobre migrations tablas y eso solucionará el problema. Ya no se mostrará cuando hagas migraciones

otra forma es crear el archivo de manera simple, depende de lo que desee, en mi caso quería deshacerme de esta migración. :)