こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、11年目エンジニアです。
この記事では、 Ruby on Railsでseedファイルについて丁寧に解説します。
前提条件:実行環境について
実行環境は以下の通りです。
OS | Windows10 |
---|---|
Rubyのバージョン | 2.6.6 |
Ruby on Railsのバージョン | 6.0.3.5 |
SQLiteのバージョン | 3.32.3 |
この記事ではRuby on Railsのプロジェクトは
C:\rails_study\sample
に作成しています。
seedファイルとは
seedファイルについて解説します。
seedファイルは、一言で書くと初期データが記載されているファイルです。
Railsプロジェクト新規作成と同時にデフォルトで作成され
Railsプロジェクト\db
配下に配置され、ファイル名は【seeds.rb】です。
初期のseedファイルの中身は↓のようになっています。
1 2 3 4 5 6 7 |
# This file should contain all the record creation needed to seed the database with its default values. # The data can then be loaded with the rails db:seed command (or created alongside the database with db:setup). # # Examples: # # movies = Movie.create([{ name: 'Star Wars' }, { name: 'Lord of the Rings' }]) # Character.create(name: 'Luke', movie: movies.first) |
すべてコメントアウトされているファイルです。
ここにテーブルに登録する初期データを書き、railsコマンドを実行するとテーブルにseedファイルで記載したデータが登録されます。
seedファイルの基本的な書き方について解説
この章ではseedファイルの基本的な書き方について解説します。
基本の書き方は以下です。
1 |
モデルクラス名.create(カラム1: 値1, カラム名2: 値2, カラム名3: 値3 …) |
たとえば以下のスキーマの【users】テーブルにseedファイルで指定する、とします。
カラム名 | データ型 | 備考 |
---|---|---|
id | INTEGER | 主キー Railsの仕様で自動で登録される |
name | VARCHAR | – |
age | INTEGER | – |
created_at | DATETIME | Railsの仕様で自動で登録される |
updated_at | DATETIME | Railsの仕様で自動で登録される |
seedファイルには、下記のように書きます。
1 2 |
User.create(name: '田中', age: 34) User.create(name: '鈴木', age: 19) |
まとめ:seedファイルを書いてみよう
以上がRuby on Railsのseedファイルの解説でした!
seedファイルを実行するコマンドについては、以下の記事をご参考ください。
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント