sql >> Database teknologi >  >> RDS >> Mysql

Tilføj nye kolonner til eksisterende tabel i en migrering i Laravel

Hvis du tjekker ved fejlsporet:

Det betyder, at brugertabellen eksisterer allerede, så når du kører dine migreringer, forsøger den at oprette en tabel, der allerede er oprettet i din database.

Bemærk: Glem ikke at sikkerhedskopiere din database først

Slet brugertabel fra databasen også slette brugerposter fra migreringer tabel.

Udfør derefter migrate Artisan-kommandoen:php artisan migrate

Nu er et andet dit spørgsmål:Hvordan tilføjer man nye kolonner i min eksisterende tabel?

Du skal oprette en tabel ved hjælp af denne kommando:

php artisan make:migration create_users_table

Outputtet, du fik det sådan her:Oprettet migration:2019_04_12_070152_create_users_table

Din migreringsstruktur er noget af dette:

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 vil du tilføje nye kolonner i din eksisterende brugertabel

php artisan make:migration add_phone_number_to_users_table --table=users

brug Schema::table() metode (da du tilgår en eksisterende tabel, ikke opretter en ny). Og du kan tilføje en kolonne som denne:

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

Derefter kan du køre dine migreringer:php artisan migrate

Dine nye kolonner(phonenumber ) er nu tilføjet til din eksisterende brugertabel , som du kan se i din database.

Hvis du stadig er i tvivl, kan du se denne video



  1. Hvad er forskellen mellem en hash join og en merge join (Oracle RDBMS)?

  2. 4 Nyttige kommandolinjeværktøjer til at overvåge MySQL-ydeevne i Linux

  3. Forespørgsel for kun at hente tal fra en streng

  4. Opdeling af Datetime i en dato og en tidsværdi