Laravel のデータベース移行では、データベース、テーブル、フィールド、インデックスに対する一連の関連操作が提供されます。以下では、例としてフレンドリー リンク テーブルの作成を取り上げます。
Artisan コマンド php 職人 make:migration create_links_table を使用します
これにより、database/migrations ディレクトリに2017_05_06_151645_create_links_table.php という名前のファイルが生成されます。名前の前半「2017_05_06_151645_」はLaravelが追加したタイムスタンプです。 「create_links_table.php」の後半はテーブル名です。
2. ロジックを作成します 次に、移行クラス2017_05_06_151645_create_links_table.php を開きます: up() と down() の 2 つのメソッドがあります。 up() メソッドはテーブルを作成し、down() メソッドはテーブルを削除します。
<?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
phpArtisan Migrate
これで、移行を記録する hd_links テーブルとテーブル hd_migrations がデータベースに作成されました (「hd_」は構成されたテーブルのプレフィックスです)。 :注: 移行クラスが手動で削除され、ファイルが再作成できない場合は、composer dump-autoload コマンドを使用して自動読み込みを最適化し、移行を再作成できます。
2. データ入力 は、データベース内のテーブルにデータを入力するテストに使用できます。 1. パディングを作成しますArtisan コマンドphp を使用します。 2. ロジックを作成します
次に、この LinksTableSeeder.php ファイルを開き、2 つのテスト レコードを追加します。
<?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); } }
DatabaseSeeder.php ファイルの内容:
<?php use Illuminate\Database\Seeder; class DatabaseSeeder extends Seeder { /** * 运行数据库填充 * * @return void */ public function run() { $this->call(LinksTableSeeder::class); } }
phpArtisan db:seed
以上がLaravel5.2でのデータベース移行とデータ埋め込みの例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。