LoginSignup
0
0

More than 1 year has passed since last update.

seedsを使った初期データの投入

Last updated at Posted at 2023-04-01

seedsについて

アプリに初期データを入れておきたい場合にseedsを使います。
このファイルにデータを生成するコードを書き、コマンドを実行することでデータベースにテストデータを投入することができます。

seedsの使い方

通常はseeds.rbのみに記述しますが、今回は2つのファイルに分けて記述します。

データを追加するためのスクリプト
db/seeds.rb
table_names = %w(staff_members)

table_names.each do |table_name|
  path = Rails.root.join("db", "seeds", Rails.env, "#{table_name}.rb"
  if File.exist?(path)
    puts "Creating #{table_name}..."
    require(path)
  end
end
実行したいクエリ(投入するデータ)
db/development/staff_members.rb(新規作成)
StaffMember.create!(
  email: "test@example.com",
  family_name: "テスト",
  given_name: "太郎",
  family_name_kana: "テスト",
  given_name_kana: "タロウ",
  password: "password",
  start_date: Date.today
)

seedの実行

データの投入
$ bin/rails db:seed
このコマンドは、db/schema.rbの内容を読み込んでデータベースの構造を作り直し、seedデータを投入する
データの投入をやり直す
$ bin/rails db:reset
指定した文字列をRailsアプリケーションの文脈で実行するコマンド。投入に成功していれば「1」が表示される
正しくデータが投入されたか確認する
$ bin/rails r "puts StaffMember.count"
属性の値を調べたい場合
$ bin/rails r "puts StaffMember.first.属性の値"
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