【Laravel】SeederをDBから逆生成する
Seederを一々作るのも面倒なので一気に逆生成する方法。
手順
以下のパッケージを使用してSeederを逆生成します。
orangehill/iseed
インストール
インストール方法
composer require --dev "orangehill/iseed"
逆生成
以下のコマンドを使用すると database/seeders
にファイルが生成されます。
php artisan iseed [テーブル名]
複数やる場合は ,
区切りで指定できます。
php artisan iseed [テーブル名],[テーブル名]
各種オプション
php artisan help iseed
でオプションの確認可能です。
使いそうなものを一部抜粋しております。
--classnameprefix=Prefix
クラス名のプレフィックスを指定--classnamesuffix=Suffix
クラス名のサフィックスを指定--force
既存ファイルがあっても上書きする。--clean
app/database/seeds/DatabaseSeeder.php
を削除して実行--database=DatabaseName
データベースを指定--max=10
Seederにする件数を指定--chunksize=100
挿入時にチャンクする件数の指定--orderby=id
Seederの順序のキーを指定(昇順--direction=desc
--orderby
と組み合わせてSeederの順序指定(desc
で降順指定--exclude=id
Seederから除外する列を指定。--exclude=id,created_at,updated_at
と,
区切りで除外が可能。