Come posso eseguire una migrazione in laravel 5.5?

Ho creato un progetto Auth con laravel 5.5 e creato una nuova migrazione e quando eseguo la migrazione ricevo questo messaggio di errore:

In Connection.php linea 647:

SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' already exists (SQL: create table `users` ( `id` int unsigned not null auto_increment primary key, `name` varchar(255) not null, `username` varchar(255) not null, `email` varchar(255) not null, `password` varchar(255) not null, `remember_token` varchar(100) null, `created_at` timestamp null, `updated_at` timestamp null, `role` int not null ) default character set utf8mb4 collate utf8mb4_unicode_ci ) 

In Connection.php linea 449:

 SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' already exists 

provo php artisan migrate –force e php artisan migrano: rollback

e prova a eliminare tutti i tabel e a migrare di nuovo e continua ad avere questo errore

Sembra che tu stia utilizzando un database che ha già una tabella users , ma nessuna tabella di migration . Pertanto, quando si esegue la migrazione, si sta tentando di creare nuovamente la tabella users .

Ci sono due cose che puoi provare:

1) Prova a configurare un nuovo database (vuoto) in MySQL e aggiorna le impostazioni nel tuo file .env per puntare a questo nuovo DB. Esegui php artisan migrate esegui la php artisan migrate e verifica se le tue migrazioni vengono applicate correttamente.

2) Utilizzando il database esistente, cancella / elimina tutte le tabelle (esegui un backup dei dati se vuoi mantenerlo), quindi esegui la php artisan migrate e verifica se questo risolve il problema.

per capire il problema e trovare una soluzione è necessario capire come funziona la migrazione. le migrazioni funzionano in base alla data di creazione. ogni volta che viene creata una migrazione, il timbro temporale corrente viene aggiunto al nome del file. e la migrazione viene eseguita in base a tale data / ora. NOW LARAVEL crea due migrazioni denominate 2014_10_12_000000_create_users_table.php e 2014_10_12_100000_create_password_resets_table.php. come regola di laravel ogni volta che si eseguirà la migrazione, questi due file verranno migrati ma la tabella degli utenti esiste già. cancellali in file e spera che il tuo problema venga risolto. una cosa, se gestisci i databse in laravel usando lo schema e le migrazioni, non cancelli mai db manualmente. ti causerà problemi inutili. la tabella di migrazione tiene traccia di tutte le migrazioni eseguite e l’eliminazione manuale di db interromperà quella traccia di conservazione dei dati nella tabella delle migrazioni. così la prossima volta che eseguirai uno schema, laravel non sarebbe in grado di capire cosa sta succedendo e creerà degli errori. spero che ti possa aiutare.

Hai creato una nuova migrazione per la tabella “utenti”?

Laravel per impostazione predefinita quando viene creato un nuovo progetto produrrà una migrazione per una tabella utenti. Ciò significa che se crei una nuova migrazione con la tabella “utenti”, tenterà di creare la tabella due volte, causando quindi l’errore.

Puoi rimuovere la migrazione creata da laravel, cambiare il nome della nuova tabella o modificare la migrazione di laravel piuttosto che crearne una tua.

dopo aver letto il messaggio di errore in CMD (DOS) e controllare la documentazione di laravel

errore di lunghezza non so se qualcuno vede questo errore prima o no ma quando modifico la lunghezza del suo lavoro

modifico 3 migrazione come di seguito: –

 1 -1- Schema::create('users', function (Blueprint $table) { $table->increments('id'); $table->string('name'); $table->string('username')->unique(); $table->string('email')->unique(); $table->string('password'); $table->rememberToken(); $table->timestamps(); $table->integer('role'); }); 

e ora è suo

  Schema::create('users', function (Blueprint $table) { $table->increments('id')->autoIncrement(); $table->string('name',200); $table->string('username',50)->unique(); $table->string('email',100)->unique(); $table->string('password',50); $table->string('role',50); $table->rememberToken(); $table->timestamps(); }); 

numero 2 era

  Schema::create('password_resets', function (Blueprint $table) { $table->string('email')->index(); $table->string('token'); $table->timestamp('created_at')->nullable(); }); 

e ora è: –

  Schema::create('passwordreset', function (Blueprint $table) { $table->string('email',200)->index(); $table->string('token',200); $table->timestamp('created_at')->nullable(); }); 

numero 3 era: –

 3- Schema::create('tweets', function (Blueprint $table) { $table->increments('id'); $table->integer('user_id')->unsigned()->index(); $table->text('text'); $table->timestamps(); }); 

adesso è :-

  Schema::create('tweets', function (Blueprint $table) { $table->increments('id')->autoIncrement(); $table->string('user_id',50)->index(); $table->string('twetts',255); $table->timestamps(); });