csvファイルを使用してrailsアプリに初期データを投入
チーム開発をしていて、seeds.rbからデータベースに初期データを投入する際にコードをひたすら書くのではなくcsvファイルに大量のデータを落とし込んでそれをseed.rbに読み込む記述をするという方法を使用したので、そのやり方を記録として残しておく!!
CSVファイルの作成手順
1.今回は某サイトよりデータをお借りしました
まずはデータを抽出
commnd + aで全選択コピー

3.整えたデータをgoogle スプレッドシートで貼り付け
ツールからフィルターを作成
改行を取り除くために空白セル以外を表示
空白セル以外を表示させる
コピーして貼り付け
改行がないデータの出来上がり!!

4.numbersアプリでcsv書き起こし
データをnumbersアプリでcsvファイルとして書き起こしました

Railsに保存
今回の目的として、rake db:seedをした時にデータをデータベースに投入したいのが目的のため下記の図のファイル構成とする
dbの中に上記csvを入れてやれば良いと思います。
**ブランドはデータ量が多かったのでbrandフォルダを作成してます**
Seeds.rbにデータベースに反映するコードを記述
# 左辺nameがデータベースのカラム、右辺Nameがcsvのカラム
CSV.foreach('db/brand/men_brand.csv', headers: true) do |row|
Brand.create(
name: row['Name'],
)
end
最後に
これでrake db:seedをすればデータが反映されるはずです
親があって、子があって、孫があるなどの階層が深い場合のseeds.rbの記載方法はそれぞれ紐付けるのが難しいですよね汗
余力があればそのコードもアウトプットとして書こうと思います!!
追加
vs codeの拡張機能でExcel Viewer機能を追加するとcsvファイルがみやすくなります
