Die Datenbankmigration von Laravel bietet eine Reihe verwandter Vorgänge für Datenbanken, Tabellen, Felder und Indizes. Im Folgenden wird als Beispiel die Erstellung einer benutzerfreundlichen Linktabelle verwendet.
Verwenden Sie den Artisan-Befehl php artisan make:migration create_links_table
Dadurch wird eine Datei mit dem Namen 2017_05_06_151645_create_links_table.php Datei. Die erste Hälfte des Namens „2017_05_06_151645_“ ist der von Laravel hinzugefügte Zeitstempel. Die zweite Hälfte von „create_links_table.php“ ist der Tabellenname.
2. Schreiben Sie die LogikÖffnen Sie dann die Migrationsklasse2017_05_06_151645_create_links_table.php, die über zwei Methoden verfügt: up() und down(). Die Methode up() erstellt eine Tabelle und die Methode down() löscht die Tabelle.
<?php use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateLinksTable extends Migration { /** * 执行迁移 * * @return void */ public function up() { Schema::create('links', function (Blueprint $table){ $table->engine = 'MyISAM'; $table->increments('id'); $table->string('name')->default('')->comment('名称'); $table->string('title')->default('')->comment('标题'); $table->string('url')->default('')->comment('地址'); $table->integer('sort')->default(50)->comment('排序'); }); } /** * 回滚迁移 * * @return void */ public function down() { Schema::drop('links'); } } 2017_05_06_151645_create_links_table.php
php artisan migrate
Jetzt im Datenbank Eine hd_links-Tabelle und eine Tabelle hd_migrations, die Migrationen aufzeichnen, wurden erstellt („hd_“ ist das konfigurierte Tabellenpräfix):Hinweis: Bei manuellem Löschen Migrationsklassen und Dateien können nicht neu erstellt werden. Verwenden Sie den Composer-Befehl dump-autoload, um das automatische Laden zu optimieren, und die Migration kann neu erstellt werden.
2. Datenfüllung kann zum Testen verwendet werden, um einige Daten für die Tabelle in der Datenbank einzugeben. 1. Erstellen Sie die FüllungVerwenden Sie den Artisan-Befehlphp artisan make:seeder LinksTableSeeder
Dadurch wird eine Datei mit dem Namen < in der Datenbank generiert. Samenverzeichnis 🎜>LinksTableSeeder.phps freundliche Linkfüllklasse. 2. Schreiben Sie die Logik
und fügen Sie zwei Testdatensätze hinzu.
<?php use Illuminate\Database\Seeder; class LinksTableSeeder extends Seeder { /** * 运行数据库填充 * * @return void */ public function run() { $data = [ [ 'name' => 'Laravel 中文社区', 'title' => 'Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区 - Powered by PHPHub', 'url' => 'https://laravel-china.org/', 'sort' => '49' ], [ 'name' => 'GitHub', 'title' => 'GitHub is where people build software. More than 21 million people use...', 'url' => 'https://github.com', 'sort' => '49' ] ]; DB::table('links')->insert($data); } }
Inhalt der DatabaseSeeder.php-Datei:
<?php use Illuminate\Database\Seeder; class DatabaseSeeder extends Seeder { /** * 运行数据库填充 * * @return void */ public function run() { $this->call(LinksTableSeeder::class); } }
Jetzt hat die hd_links-Tabelle in der Datenbank 2 Datensätze:
Das obige ist der detaillierte Inhalt vonBeispiele für Datenbankmigration und Datenfüllung in Laravel5.2. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!