Framework: La migration ne prend pas en compte le préfixe lors de la vérification si la table de migration existe [bug]

CrĂ©Ă© le 11 janv. 2013  Â·  3Commentaires  Â·  Source: laravel/framework

Bug d'origine trouvé ici : https://github.com/illuminate/database/issues/111 - Déplacé vers son référentiel selon Taylor. Voici le texte original :

J'ai parlé avec Machuga dans IRC - Il a été suggéré que je crée un problÚme.

Publier:

Erreur aprÚs la premiÚre migration : SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'up_migrations' already exists

Étapes à reproduire :

  1. Nouvelle installation de L4
  2. Ajouter un préfixe à la base de données dans la configuration de connexion à la base de données (MySql)
  3. Créer une migration $ php artisan migrate:make create_users_table --table=users --create
  4. Remplissez certains champs, exécutez la migration $ php artisan migrate
  5. Tenter une migration : actualiser $ php artisan migrate:refresh
  6. ERREUR : SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'up_migrations' already exists

    Fichiers pertinents:

J'ai localisé cela jusqu'à ce fichier : Illuminate\Database\MigrationsDatabaseMigrationRepository::repositoryExists() et plus précisément à l'intérieur de celui-ci, l'appel à return $schema->hasTable($this->table); ici

La variable $this->table passée à hasTable() n'inclut pas le préfixe de la table. Illuminate\Database\Schema\MySqlBuilder::hasTable($table) ne vérifie pas non plus le préfixe.

Malheureusement, je ne connais pas encore le code/la convention pour savoir oĂč vous prĂ©fĂ©rez rechercher le prĂ©fixe. (Je ne sais pas quelle classe devrait avoir cette "connaissance")

bug

Tous les 3 commentaires

D'accord merci. Nous allons le faire réparer.

Fixé.

J'ai le mĂȘme problĂšme et je viens de tĂ©lĂ©charger le framework depuis le site.
Je me demande si le correctif a été commis à la version du site.

Cette page vous a été utile?
0 / 5 - 0 notes