Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Fügen Sie bei einer Migration in Laravel neue Spalten zu einer vorhandenen Tabelle hinzu

Wenn Sie den Fehler-Trace überprüfen:

Das bedeutet, dass die users-Tabelle existiert bereits, also versucht es, wenn Sie Ihre Migrationen ausführen, eine Tabelle zu erstellen, die bereits in Ihrer Datenbank erstellt wurde.

Hinweis: Vergessen Sie nicht, zuerst Ihre Datenbank zu sichern

Löschen Sie die Benutzertabelle aus der Datenbank auch Benutzereinträge aus Migrationen löschen Tabelle.

Führen Sie danach den Befehl „Artisan migrieren“ aus:php artisan migrate

Jetzt ist eine andere Ihre Frage:Wie füge ich neue Spalten zu meiner bestehenden Tabelle hinzu?

Sie müssen eine Tabelle mit diesem Befehl erstellen:

php artisan make:migration create_users_table

Die Ausgabe, die Sie so erhalten haben:Created Migration:2019_04_12_070152_create_users_table

Ihre Migrationsstruktur sieht folgendermaßen aus:

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

Jetzt möchten Sie neue Spalten in Ihrer vorhandenen Benutzertabelle hinzufügen

php artisan make:migration add_phone_number_to_users_table --table=users

Verwenden Sie das Schema::table() -Methode (da Sie auf eine vorhandene Tabelle zugreifen und keine neue erstellen). Und Sie können eine Spalte wie diese hinzufügen:

public function up()
{
     Schema::table('users', function (Blueprint $table) {
         $table->string('phonenumber')->after('name'); // use this for field after specific column.
     });
}

/**
 * Reverse the migrations.
 *
 * @return void
 */
public function down()
{
    Schema::table('users', function (Blueprint $table) {
        $table->dropColumn('phonenumber');
    });
}

Danach können Sie Ihre Migrationen ausführen:php artisan migrate

Ihre neuen Spalten (phonenumber ) werden jetzt zu Ihrer bestehenden Benutzertabelle hinzugefügt , die Sie in Ihrer Datenbank anzeigen können.

Wenn Sie noch Zweifel haben, sehen Sie sich dieses Video an