Heim > Artikel > Backend-Entwicklung > Erfahren Sie mehr über die Datenbankmigration in Laravel 5
Dieser Artikel stellt Ihnen Datenbankmigrationen vor, eine der leistungsstärksten Funktionen im Laravel5-Framework. Dieser Artikel stellt die Schritte und Methoden der Datenbankmigration im Detail vor. Er ist sehr praktisch und Freunde in Not können darauf zurückgreifen.
Datenbankmigrationen sind eine der leistungsstärksten Funktionen von Laravel. Die Datenbankmigration kann als Versionskontrolle für die Datenbank verstanden werden.
Enthält zwei Migrationsdateien im Verzeichnis „database/migrations“, eine zum Erstellen der Benutzertabelle und eine zum Zurücksetzen des Benutzerkennworts.
In der Migrationsdatei wird die Up-Methode zum Erstellen der Datentabelle und die Down-Methode zum Rollback, also zum Löschen der Datentabelle, verwendet.
Datenbankmigration ausführen
php artisan migrate #输出 Migration table created successfully. Migrated: 2014_10_12_000000_create_users_table Migrated: 2014_10_12_100000_create_password_resets_table
Wenn Sie sich die MySQL-Datenbank ansehen, können Sie sehen, dass drei Tabellen generiert wurden. Die migratoins-Tabelle ist die Migrationsdatensatztabelle, Benutzer und pasword_resets.
Wenn es ein Problem mit dem Design gibt, führen Sie ein Datenbank-Rollback durch
php artisan migrate:rollback #输出 Rolled back: 2014_10_12_100000_create_password_resets_table Rolled back: 2014_10_12_000000_create_users_table
Sehen Sie sich die MySQL-Datenbank erneut an, nur die Migrationstabelle ist übrig und die Benutzerpasswort_resets wurden gelöscht.
Ändern Sie die Migrationsdatei und führen Sie die Migration erneut durch.
Neue Migration
php artisan make:migration create_article_table --create='articles' #输出 Created Migration: 2015_03_28_050138_create_article_table
Unter Datenbank/Migrationen wurde eine neue Datei generiert.
<?php use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateArticleTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('articles', function(Blueprint $table) { $table->increments('id'); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::drop('articles'); } }
Die ID-Spalte wird automatisch hinzugefügt und wächst automatisch. timestamps() generiert automatisch zwei Zeitspalten: erstellt_at und aktualisiert_at. Fügen wir einige Felder hinzu:
public function up() { Schema::create('articles', function(Blueprint $table) { $table->increments('id'); $table->string('title'); $table->text('body'); $table->timestamp('published_at'); $table->timestamps(); }); }
Führen Sie die Migration aus:
php artisan migrate
Jetzt haben wir eine neue Datentabelle.
Angenommen, wir müssen ein neues Feld hinzufügen, können Sie ein Rollback durchführen, dann die Migrationsdatei ändern und die Migration erneut durchführen, oder Sie können direkt eine neue Migrationsdatei erstellen
php artisan make:migration add_excerpt_to_articels_table
Sehen Sie sich die neu generierte Migrationsdatei
<?php use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class AddExcerptToArticelsTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { // } /** * Reverse the migrations. * * @return void */ public function down() { // } }
an, die nur leere Auf- und Ab-Methoden enthält. Wir können den Code manuell hinzufügen oder Laravel den Basiscode für uns generieren lassen. Löschen Sie diese Datei, generieren Sie die Migrationsdatei neu und fügen Sie die Parameter hinzu:
php artisan make:migration add_excerpt_to_articels_table --table='articles'
Jetzt gibt es anfänglichen Code in der up-Methode.
public function up() { Schema::table('articles', function(Blueprint $table) { // }); }
Aktuellen Datenänderungscode hinzufügen:
public function up() { Schema::table('articles', function(Blueprint $table) { $table->text('excerpt')->nullable(); }); } public function down() { Schema::table('articles', function(Blueprint $table) { $table->dropColumn('excerpt'); }); }
nullable() stellt das Feld dar Kann auch leer sein.
Führen Sie die Migration erneut aus und überprüfen Sie die Datenbank.
Wenn wir nur zum Spaß einen Rollback machen
php artisan migrate:rollback
Auszugsspalte ist weg.
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.
Verwandte Empfehlungen:
Analyse von Unteransichten und Formularwiederverwendung des Laravel5-Frameworks
Seiten und Formulare von Laravel 4 Verify
Das obige ist der detaillierte Inhalt vonErfahren Sie mehr über die Datenbankmigration in Laravel 5. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!