„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > 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?

Veröffentlicht am 08.11.2024
Durchsuche:312

How to Resolve the \

Laravel 5.5-Fehlerbehandlung: „Basistabelle existiert bereits“ für Migrationen auflösen

Es tritt der Fehler „Basistabelle oder -ansicht existiert bereits“ auf ( 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 geänderte Version der create_users_table.php-Migration sollte das Problem beheben:

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');
    }
}
Freigabeerklärung Dieser Artikel wird unter folgender Adresse abgedruckt: 1729667489 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3