seeds.rbとは
アプリなどでデータベースに初期データを登録したり、 テストデータなどを登録してくれるファイルのこと。seed ファイルの使い方
1件づつデータを入れる場合
モデル名.create(カラム1: 値1, カラム名2: 値2, カラム名3: 値3 …)
*日本語を使用する場合はファイルの先頭に「# coding: utf-8」と指定する必要があり?
入力したい初期データをseeds.rbに入力したら、保存して下記コマンドを入力すると反映される。
rails db:seed
rails console(rails c)を開いて、
モデル名.all
でデータベースの中身を確認できる。
複数件データを入れる場合
5.times do |no|
Title.create(:カラム => "値 #{no}")
end
rubyのfor文を使って複数のユーザーを作っていくやり方。
dbの特定のカラムにuniqueバリデーション(同じカラム内に同じデータは存在できない(user、emailなど))がかけていることが多いと思うので、"値#{n + 1}",など変数を上手く活用してテウとデータなどを作成。
CSVからインポート
エクセルでも、テキストエディタからでも、スプレッドシートからでもCSV形式で出力。require "csv"
CSV.foreach('db/ファイル名') do |info|
モデル名.create(:カラム1 => info[0], :カラム2 => info[1])
end
seeds.rbの変更が終わったら保存して、rails db:seedを実行する
参考サイト
https://railsdoc.com/page/rake_db_seed