Technische Daten:
Beschreibung:
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
Schritte zum Reproduzieren:
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
Problem
Es erstellt eine Benutzertabelle und gibt einen Fehler aus, erstellt jedoch keine Listentabelle
Ich habe mein Problem selbst gelöst, indem ich meine create_users_table.php geändert habe
<?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');
}
}
Hier sind die Schritte, die ich unternommen habe, um das gleiche Problem zu lösen:
In die Konsole habe ich geschrieben php artisan tinker
Dann, wieder in der Konsole, Schema::drop('users')
Am Ende php artisan migrate
Hat alles geklappt.
Der folgende Befehl hat mein Problem gelöst:
1. php artisan tinker
2. Schema::drop('your_table_name')
3. php artisan migrate
Hier sind die Schritte, die ich unternommen habe, um das gleiche Problem zu lösen:
pHP Handwerker machen: Migration create_tableName_table --create = tableName.
pHP-Handwerker migrieren.
fehler angezeigt, können Sie alle Dateien in der Migration und alle Tabellen in der Datenbank löschen.
erstelle eine neue Tabelle als 1.
fertig. okay.
Um dieses Problem auf einfache Weise zu lösen, führen Sie den folgenden Befehl aus
php artisan migrate: fresh
Hierfür gibt es zwei mögliche Lösungen, die unter diesem Link aufgeführt sind:
https://www.codespeaker.com/laravel-framework/solutions-for-common-errors-on-artisan-commands/
Erstens ist Rollback
pHP-Handwerker migrieren: Rollback
Zweitens ist das Ablegen von Tischen.
löschen Sie diese Spalten einfach zuerst aus der Datenbank. und führe composer update aus. und führe dann schließlich php artisan migrate aus, um dein Problem zu lösen. die einfachste Lösung für dein Problem.
Ich habe eine andere Lösung, ich lösche die Migrationstabelle, hier meine Lösung
<?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');
}
}
Lösung:
php artisan migrate