Heim  >  Artikel  >  Datenbank  >  Wie behebe ich den Fehler „Basistabelle existiert bereits“ bei Laravel 5.5-Migrationen?

Wie behebe ich den Fehler „Basistabelle existiert bereits“ bei Laravel 5.5-Migrationen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-23 16:33:02464Durchsuche

How to Resolve the

Laravel 5.5-Fehlerbehandlung: Behebung von „Basistabelle existiert bereits“ für Migrationen

Auftreten des Fehlers „Basistabelle oder -ansicht existiert bereits“ ( Fehlercode 1050) beim Ausführen des Befehls „php artisan migrate“ in Laravel 5.5 kann frustrierend sein. Dieser Fehler weist darauf hin, dass die in der Migration angegebene Datenbanktabelle bereits vorhanden ist.

Fehlerbehebung und Lösung

  1. Überprüfen Sie den Befehl: Double- Überprüfen Sie den Befehl, den Sie ausführen. Stellen Sie sicher, dass Sie auf die richtige Migrationsdatei verweisen.
  2. Überprüfen Sie die Tabellenexistenz: Überprüfen Sie manuell, ob die betreffende Tabelle (z. B. Benutzer im bereitgestellten Beispiel) bereits in Ihrer Datenbank vorhanden ist. Sie können ein Datenbankverwaltungstool wie MySQL Workbench oder phpMyAdmin verwenden, um dies zu überprüfen.
  3. Vorhandene Tabelle löschen: Wenn die Tabelle bereits vorhanden ist, können Sie sie mit dem folgenden Befehl löschen: php artisan migrate:rollback --step=1, wobei --step=1 angibt, dass Sie die erste (und einzige) Migration rückgängig machen möchten.
  4. Ändern Sie die Migrationsdatei: Überprüfen Sie die create_users_table. PHP-Migrationsdatei, die in der Lösung bereitgestellt wird. Dadurch wird sichergestellt, dass die Benutzertabelle gelöscht wird, bevor sie neu erstellt wird.
  5. Führen Sie die Migrationen erneut aus: Sobald Sie die Migrationsdatei geändert oder die vorhandene Tabelle gelöscht haben, versuchen Sie, den Befehl php artisan migrate auszuführen noch einmal.

Beispielmigrationsdatei

Die folgende modifizierte Version der create_users_table.php-Migration sollte das Problem beheben:

<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>

Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „Basistabelle existiert bereits“ bei Laravel 5.5-Migrationen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn