Framework: La migración no tiene en cuenta el prefijo al comprobar si existe una tabla de migración [error]

Creado en 11 ene. 2013  ·  3Comentarios  ·  Fuente: laravel/framework

Error original encontrado aquí: https://github.com/illuminate/database/issues/111 - Se movió a su repositorio según Taylor. Aquí está el texto original:

Hablé con Machuga en IRC - Se sugirió que creara un problema.

Asunto:

Error después de la primera migración: SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'up_migrations' already exists

Pasos para reproducir:

  1. Instalación nueva de L4
  2. Agregue un prefijo a la base de datos en la configuración de conexión de la base de datos (MySql)
  3. Crear una migración $ php artisan migrate:make create_users_table --table=users --create
  4. Complete algunos campos, ejecute la migración $ php artisan migrate
  5. Intente una migración: actualice $ php artisan migrate:refresh
  6. ERROR: SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'up_migrations' already exists

    Archivos Relevantes:

Rastreé esto hasta este archivo : Illuminate\Database\MigrationsDatabaseMigrationRepository::repositoryExists() y específicamente dentro de eso, la llamada a return $schema->hasTable($this->table); aquí

La variable $ this-> table pasada a hasTable () no incluye el prefijo de la tabla. Illuminate\Database\Schema\MySqlBuilder::hasTable($table) tampoco comprueba el prefijo.

Desafortunadamente, todavía no estoy familiarizado con el código / convención para saber dónde preferiría buscar el prefijo. (No estoy seguro de qué clase debería tener ese "conocimiento")

bug

Todos 3 comentarios

Bueno, gracias. Lo arreglaremos.

Reparado.

Estoy teniendo este mismo problema y acabo de descargar el marco del sitio.
Me pregunto si la solución se comprometió con la versión del sitio.

¿Fue útil esta página
0 / 5 - 0 calificaciones