Laravel Migration/Seed

コマンド

機能 コマンド 備考
マイグレーションファイル作成 php artisan make:migration XXXXX ––table=tests
マイグレーション実行 php artisan migrate
マイグレーションファイル指定 php artisan migrate:refresh
--step=1
--path=/database/migrations/XXXXXXX_create_users_table.php
全テーブル削除 php artisan migrate:fresh
ロールバック php artisan migrate:reset
ロールバック&マイグレーション php artisan migrate:refresh
ロールバック&マイグレーション&シード php artisan migrate:refresh ––seed
シーディングファイル作成 php artisan make:seeder XXXXXTableSeeder
シーディング実行 php artisan db:seed 実行前にcomposer dump-autoloadが必要
シーディング実行(ファイル指定) php artisan db:seed --class=XXXXXTableSeeder

マイグレーション

create

class Create〜Table extends Migration
{
 public function up()
 {
  Schema::create('物理テーブル名', function (Blueprint $table) {
   $table->increments('id');
   $table->integer('カラム名');
   $table->double('カラム名', 8, 5);
   $table->unsignedInteger('カラム名');
   $table->string('カラム名', 256);
   $table->string('カラム名');
   $table->text('カラム名');
   $table->timestamp('カラム名');
   $table->enum('カラム名', [
    'student',
    'teacher',
   ]);
   $table->timestamps();

   データ型の後に付けたし
   $table->データ型()
   ->default(0.0)
   ->nullable()
   ->comment('コメント')
   ->after('列名')
   ->before('列名');
  });

  Schema::table('物理テーブル名', function (Blueprint $table) {

   主キー
   $table->primary(['カラム名', 'カラム名']);

   unique制約
   $table->unique(['自カラム名', '自カラム名']);

   外部キー制約
   $table->foreign('自カラム名')
    ->references('外部カラム名')
    ->on('外部テーブル名')
    ->onUpdate('RESTRICT')
    ->onDelete('CASCADE');
  });
 }

 public function down()
 {
  Schema::dropIfExists(‘物理テーブル名’);
 }
}

シード

class 〜Seed extends Seeder
{
 public function run()
 {
  foreach ([1, 3, 5] as $i) {
   モデルクラス::create([
    '〜_id' => $i,
    '列名' => '〜',
    '列名' => '〜',
   ]);
  }
 }
}

Follow me!

前の記事

Laravel Model

次の記事

Laravel PHPUnit