Spécifications:
Description:
C:/Users/user/code/blog/>php artisan migrate
[Illuminate\Database\QueryException]
SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' already exists (SQL: create table users (id int unsigned not null aut
o_increment primary key, name 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) default character set utf8mb4 collate utf8mb4_unicode_ci engine = InnoDB R
OW_FORMAT=DYNAMIC)
[PDOException]
SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' already exists
étapes pour reproduire:
C:/Users/user/code/blog/>laravel new website
C:/Users/user/code/blog/>php artisan make:migration create_lists_table --create=lists
C:/Users/user/code/blog/>php artisan migrate
Problème
Il crée une table d'utilisateurs et donne une erreur mais ne crée pas de table de listes
J'ai résolu mon problème moi-même en modifiant mon create_users_table.php
<?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');
}
}
Voici les étapes que j'ai suivies pour résoudre le même problème:
Dans la console, j'ai écrit php artisan tinker
Puis, à nouveau dans la console, Schema::drop('users')
À la fin php artisan migrate
Et tout a fonctionné.
La commande suivante a résolu mon problème:
1. php artisan tinker
2. Schema::drop('your_table_name')
3. php artisan migrate
Voici les étapes que j'ai suivies pour résoudre le même problème:
php artisan make: migration create_tableName_table --create = tableName.
l'artisan php migre.
apparaît erreur, vous pouvez supprimer tous les fichiers dans la migration et toutes les tables dans la base de données.
créer une nouvelle table comme 1.
terminer. d'accord.
La manière simple de résoudre ce problème est d'exécuter la commande suivante
php artisan migrate: fresh
Il existe deux solutions possibles pour cela, comme mentionné sur ce lien:
https://www.codespeaker.com/laravel-framework/solutions-for-common-errors-on-artisan-commands/
Le premier est le retour en arrière
php artisan migrate: restauration
La seconde est la suppression des tables.
supprimez simplement ces colonnes d'abord de la base de données. et exécutez composer update. et enfin exécutez php artisan migrate cela résoudrait votre problème. la solution la plus simple pour votre problème.
J'ai une solution différente, je supprime la table de migration, voici ma solution
<?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('migration');
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');
}
}
Solution:
php artisan migrate