Laravelのモデルを作成するartisanコマンドに–migrationオプションをつけると同時にマイグレーションファイルも生成してくれます。
試しにBookモデルを生成するartisanコマンドに–migrationオプションを追加して実行してみます。
コマンド
php artisan make:model Book --migration
Bookモデルクラスとbooksテーブルのマイグレーションファイルが作成されました。
app/Book.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Book extends Model
{
//
}
MEMO
Laravel 8 以降のバージョンでは、モデルクラスの生成先は app/Models ディレクトリ下になります。
database/migrations/xxxx_xx_xx_xxxxxx_create_books_table.php
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateBooksTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('books', function (Blueprint $table) {
$table->bigIncrements('id');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('books');
}
}
効率的なだけでなく、モデル名に合わせてテーブル名(モデル名の複数形)をつけてくれるので、タイポなどの人為的なミスも防ぐことができます:)
[…] 参考:Laravelのモデルとマイグレーションを同時に作成する方法 […]