sql >> Databasteknik >  >> RDS >> Mysql

Lägg till nya kolumner i befintlig tabell i en migrering i Laravel

Om du kollar vid felspårningen:

Det betyder att användartabellen finns redan så när du kör dina migreringar försöker den skapa en tabell som redan är skapad i din databas.

Obs! Glöm inte att säkerhetskopiera din databas först

Ta bort användartabell radera också användarposter från migrering från databasen bord.

Efter det, kör kommandot migrate Artisan:php artisan migrate

En annan fråga är:Hur lägger jag till nya kolumner i min befintliga tabell?

Du måste skapa en tabell med detta kommando:

php artisan make:migration create_users_table

Utdata du fick det så här:Skapad migrering:2019_04_12_070152_create_users_table

Din migreringsstruktur är något så här:

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();
        });
    }

Nu vill du lägga till nya kolumner i din befintliga användartabell

php artisan make:migration add_phone_number_to_users_table --table=users

använd Schema::table() metod (eftersom du kommer åt en befintlig tabell, inte skapar en ny). Och du kan lägga till en kolumn så här:

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');
    });
}

Därefter kan du köra dina migreringar:php artisan migrate

Dina nya kolumner(phonenumber ) läggs nu till i din befintliga användartabell , som du kan se i din databas.

Om du fortfarande har några tvivel, se denna video



  1. Mycket enkel AVG() aggregeringsfråga på MySQL-servern tar löjligt lång tid

  2. Flera formulär och en PHP-mottagare

  3. Hitta funktionellt beroende

  4. 4 sätt att hitta rader som innehåller versaler i Oracle