1. ホーム
  2. ruby-on-rails

[解決済み] seeds.rbファイルの機能は何ですか?

2022-03-01 23:06:21

質問

私はRuby on Railsの超初心者です。の機能がわかりません。 seed.rb ファイルが何なのか、なぜこのファイルを使うのか、そしてなぜ rake db:seed コマンドを使用します。どなたか、例を挙げて説明していただけませんか?

どのように解決するのですか?

ブートストラップデータ

シードデータの目的は、データベースを起動することです。たとえば、users テーブルでユーザの都市名と州名を追跡している場合、最初のユーザを作成する前に、関連するテーブルに米国の州名と略語をシードしておくとよいでしょう。

同様に、管理者アカウントや、アプリケーションを初めて実行する際に必要なデータもシードする必要があるかもしれません。一般的なルールとして、データベースやその関係をブートストラップするのに必要でないものは、seeds.rb ファイルに追加しない方がよいでしょう。

Rakeの関連タスク

seeds.rb ファイルはシードデータが格納される場所ですが、実際に 使用 を使用します。使用方法 rake -T をクリックすると、以下のタスクの情報が表示されます。

  • rake db:seed
    db/seeds.rbからシードデータを読み込みます。
  • rake db:setup
    データベースを作成し、スキーマをロードし、シードデータで初期化します。
  • rake db:reset
    と同じです。 rake db:setup しかし、最初にデータベースを削除します。

そこで rake db:seed を使用して、いつでも手動で seeds.rb ファイルを実行できます。しかし、ほとんどの場合、あなたはおそらく rake db:setup または rake db:reset の代わりに、アプリケーションをブートストラップするときに使用します。