19
28

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Laravel で migrate 実行時に seed も実行する

Last updated at Posted at 2018-02-04

Laravel5でmigration実行時に外部ファイルのsqlを実行するという記事を書きましたがその派生です。
やることは同じですので、詳細はこちらを参照ください。

#migrateファイル
最後に以下の一行を足します。
exec('php artisan db:seed --class=SeederFileName');
###Artisan ファサードを使う
@nunulkさんより指摘頂きました。上よりもこちらのほうがlaravelっぽくていいですね。
Artisan::call('db:seed', ['--class' => 'SeederFileName']);

###不整合をより減らすために
@mpywさんより指摘いただきました
php artisan migrate:fresh --seed
seed実行時はこちらのほうが実際に、より不整合を減らしながらデータ投入できます。
ただし、全テーブルdropするので、気をつけてください。

注意

これでseederは実行されますが、seederが失敗したときにエラーが出ません。注意してください。
確実に動くことが担保されているseederを使うか、実行後データが入っているかを確認してください。

自分はテーブルとseederのカラム名が違っていてデータが入っていませんでした。

###その他参考
LaravelのSeeder単体で実行。

以上です。

19
28
6

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
28

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?