Maison  >  Article  >  base de données  >  Comment résoudre l'erreur « La table de base existe déjà » dans les migrations Laravel 5.5 ?

Comment résoudre l'erreur « La table de base existe déjà » dans les migrations Laravel 5.5 ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-23 16:33:02464parcourir

How to Resolve the

Gestion des erreurs Laravel 5.5 : résolution de « La table de base existe déjà » pour les migrations

Rencontre de l'erreur « La table ou la vue de base existe déjà » ( code d'erreur 1050) lors de l'exécution de la commande php artisan migrate dans Laravel 5.5 peut être frustrant. Cette erreur indique que la table de base de données spécifiée dans la migration existe déjà.

Dépannage et résolution

  1. Vérifiez la commande : Double- vérifiez la commande que vous exécutez. Assurez-vous que vous faites référence au bon fichier de migration.
  2. Inspectez l'existence de la table : Vérifiez manuellement si la table en question (par exemple, les utilisateurs dans l'exemple fourni) existe déjà dans votre base de données. Vous pouvez utiliser un outil de gestion de base de données comme MySQL Workbench ou phpMyAdmin pour vérifier cela.
  3. Supprimez la table existante : Si la table existe déjà, vous pouvez la supprimer en utilisant la commande suivante : php artisan migrate:rollback --step=1, où --step=1 indique que vous souhaitez annuler la première (et unique) migration.
  4. Modifiez le fichier de migration : Vérifiez la table create_users_table. fichier de migration php fourni dans la solution. Cela garantit que la table des utilisateurs est supprimée avant d'être recréée.
  5. Exécutez à nouveau les migrations : Une fois que vous avez modifié le fichier de migration ou supprimé la table existante, essayez d'exécuter la commande php artisan migrate encore une fois.

Exemple de fichier de migration

La version modifiée suivante de la migration create_users_table.php devrait résoudre le problème :

<code class="php">use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::dropIfExists('users');
        Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('email')->unique();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('users');
    }
}</code>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn