こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、11年目エンジニアです。
この記事では、 Ruby on Railsでテーブルに初期データを新規登録するrails db: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ファイルについては、こちらの記事をご参考ください。
この記事では、以下のスキーマの【users】テーブルに初期データを新規登録します。
カラム名 | データ型 | 備考 |
---|---|---|
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ファイルの準備ができたら、コマンドをたたくためにコマンドプロンプトを開きプロジェクトがある場所まで移動させます。
- コマンドプロンプトを開き、cdコマンドで移動
- エクスプローラーからコマンドプロンプトを起動
のどちらかで移動させてください。
エクスプローラーからコマンドプロンプトを起動するやり方は、下記の記事をご参考ください。
移動できたら
1 |
rails db:seed |
をたたきます。
すると
何も正常終了などのメッセージが表示されませんが、これでOKです。
SQLiteを起動し、テーブルにデータが新規登録できたかを確認します。
起動するやり方は以下の記事をご参考ください。
usersテーブルを全取得するSQLをたたくと
1 2 3 |
sqlite> select * from users; 1|田中|34|2021-05-01 08:48:57.164923|2021-05-01 08:48:57.164923 2|鈴木|19|2021-05-01 08:48:57.173606|2021-05-01 08:48:57.173606 |
seedファイルで設定した値で新規登録できていることが確認できました。
まとめ:Ruby on Railsでテーブルにseedファイルを新規登録してみよう
以上がRuby on Railsでテーブルに初期データを新規登録するrails db:seedコマンドの解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント