2016-06-10 13 views
1

Wir haben vor kurzem eine Umstellung des Service Providers vorgenommen, so dass mehrere Spalten in einer DB-Tabelle für dieses Projekt umbenannt werden müssen.Laravel 5.0 - Mehrere Spalten in 1 Migration umbenennen

Ich bin mir dessen bewusst this Post, die zeigt, wie 1 Spalte 1 Tabelle umbenennen:

php artisan migrate:make rename_stk_column --table="YOUR TABLE" --create 

Gibt es eine Möglichkeit, diese gleiche Migration mit mehreren Spalten auszuführen? (1 Migration, nicht mehr als 1 ... versucht die Anzahl der erstellten Migrationsdateien zu minimieren)

Antwort

1

Sie können einfach mehrere renameColumn(); Anweisungen für jede Spalte, die in der angegebenen Tabelle aktualisiert werden muss. Sie müssen sich nur einen Namen aussuchen, den Sie für Ihre Migrationsdateien verwenden.

Nur eine Probe von dem, was ich lief

class MultipleColumnUpdate extends Migration 
{ 
    /** 
    * Run the migrations. 
    * 
    * @return void 
    */ 
    public function up() 
    { 
     Schema::table('users', function ($table) { 
      $table->renameColumn('name', 'user_name'); 
      $table->renameColumn('email', 'work_email'); 

     }); 
    } 

    /** 
    * Reverse the migrations. 
    * 
    * @return void 
    */ 
    public function down() 
    { 
     Schema::table('users', function ($table) { 
      $table->renameColumn('user_name', 'name'); 
      $table->renameColumn('work_email', 'email'); 
     }); 
    } 
} 
+0

Irgendwie, ich bin nicht auf Laravel 5.3 in der Lage zu tun, wirft sie „es gibt keine Spalte‚OLD_NAME‘“ ... – giovannipds

+1

@giovannipds wenn Wenn Sie Ihre Migration teilen möchten, kann ich einen Blick darauf werfen. Ich habe 5.3 noch nicht verwendet oder die Änderungsdokumentation überprüft. –

+0

Dank @Andrew Nolan, aber ich habe es irgendwann später. Es war wahrscheinlich nur ein Fehler in meiner Datenbank, natürlich würde es diese Nachricht werfen. =) 5.3 ist fast das Gleiche von 5.2. – giovannipds

Verwandte Themen