CSVを使ってrails db:seedで初期データを登録
CSVとは
CSVとは「カンマで値を区切ったもの」が入っているファイルで、カンマ区切りファイルともいいます。ファイルの拡張子は .csvです。実際のファイルの中身は次のようになっています。
このファイルとrails: db:seedを使って大量の初期データをデータベースに登録する方法を説明していきます。
使用方法
NumbersやExcelなどのテキストエディタを使用して、データを挿入するテーブルを作成します。私はNumbersを使用しています。
ファイルの一番上の行ではカラム名を入れます。 IDは必ず設定しましょう。データはコピーペーストでテーブルに入れることができるのでとても簡単です!
データの入力が終わったらファイルを下記の手順でcsv形式にして保存します。ファイルの保存先はrailsアプリのdbディレクトリ配下に保存します。
次に作成したCSVファイルを使ってseeds.rbファイルを編集していきます。
seeds.rb require "csv" CSV.foreach('db/dramas.csv', headers: true) do |row| Drama.create( # カラム名: row['CSVファイルの列名'], published_at: row['published_at'], name: row['name'], ) end
CSVファイルを作成しseeds.rbファイルに記述ができたらdデータベースにseedsファイルの情報を入れるためにターミナルで下記のコマンドを入力します。
$ rails db:seed
rails console
を行うことで、データベースに大量のデータが保存されたのがわかります。