12

私はRuby on Railsを初めて使用します。seed.rbファイルの機能、このファイルを使用する理由、およびrake db:seedコマンドを実行する必要がある理由がわかりません。誰でも例を挙げて説明できますか?

4

2 に答える 2

25

データのブートストラップ

シード データの目的は、データベースをブートストラップすることです。たとえば、ユーザーの都市と州を追跡するユーザー テーブルがある場合、最初のユーザーを作成する前に、米国の州名と略語を含む関連テーブルをシードすることができます。

同様に、管理者アカウントなど、アプリケーションを初めて実行するために必要なデータをシードすることもできます。原則として、データベースまたはその関係をブートストラップするために必要でないものは、seeds.rb ファイルに追加しないでください。

関連するレーキ タスク

seed.rb ファイルはシード データが保存される場所ですが、シード データを実際に使用するには、適切な rake タスクを実行する必要があります。プロジェクト ディレクトリでを使用rake -Tすると、次のタスクに関する情報が表示されます。

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

したがって、rake db:seedseeds.rb ファイルをいつでも手動で実行できます。ただし、ほとんどの場合、アプリケーションをブートストラップするたびにrake db:setuporを実行する必要があります。rake db:reset

于 2012-12-09T16:17:20.600 に答える