0
0

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 1 year has passed since last update.

[Laravel6] ざっくりSeederを使う

Posted at

ターミナル

php artisan make:seeder 〇〇
  • database\seeds\〇〇が作成される

Seeds

public function run()
    {
        DB::table('users')->insert([
            'name' => Str::random(10),
            'email' => Str::random(10) . '@gmail.com',
            'password' => Hash::make('password'),
        ]);
    }

DatebaseSeeder

public function run()
    {
        $this->call(UsersTableSeeder::class);
    }
  • DBSeederは必ず存在している+作成したSeederが最初はコメントアウトされている
    • ここから個々のSeederを呼び出して実行する仕組みになっているので、コメントアウトを外しておく

ターミナル

composer dump-autoload

php artisan db:seed
  • Seederクラスを書き上げたら、Composerのオートローダを再生成する必要がある
    • composer.jsonのautoloadにdatabase/seeds,factoryの記述があるため、書き換えの際に再生成する必要が出てくる
  • もし2つ目のコマンドが効かなかったら、生成したデータと既に存在しているデータでコンフリクトが起こっている可能性がある
    • php artisan migrate:refresh —seed でマイグレートのリフレッシュとシーディングを同時に行うことができ、問題が解決する
0
0
0

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?