Laravel プログラミング サーバサイド

[入門者向け]5分でわかるLaravelのシーダーで初期データを追加する方法

どうも、シローです。

普段はサーバーサイドやフロントサイドの開発をしております。

今回はLaravelのシーダー(Seeder)でデータベースに初期データを追加する方法をご紹介します。

この記事の対象者

  • Laravelを最近触り始めた人
  • シーダーの役割を理解したい人
  • シーダーを使ってデータベースにデータを追加する方法を知りたい人

Laravelのシーダーの作り方

Laravelのシーダーではデータベースにデータを追加または更新することができます。

主にアプリケーションで使うマスターデータ(都道府県名などアプリケーションで頻繁に帰ることがないデータ)やデータ量が必要な処理を検証するためのテストデータを作成するのに使われます。

シーダーを作成するには次のコマンドを実行します。

実行後はapp/database/seeders/CitySeeder.phpが作成されます。

シーダーの中身

今回はcitiesテーブルにデータを追加する処理をシーダーで実行します。

シーダーの中身は次のようにしました。

マスターデータの場合は、シーダーを複数回実行させた場合に同じデータが複数作られないようにプログラムを制御するのと、データベースのカラムにユニーク制約をつけてあげれば良いでしょう。

シーダーの実行

シーダーの実行は次のように行います。

引数なしの実行では、app/database/seeders/DatabaseSeeder.phpが実行されますが、今回はCitySeederのみを実行させたいので次のコマンドで実行します。

これでcitiesテーブルにデータが追加されます。

まとめ

  • シーダーではデータベースにデータを追加したり更新することができる
  • 重複されては困るデータはカラムにユニーク制約をつけたり、プログラムで制御する必要がある

 

-Laravel, プログラミング, サーバサイド

© 2024 Shiro's secret base