0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Rails】seeds.rbを使ったdbへの反映

Last updated at Posted at 2020-12-16

本投稿の目的

・Railsについての議事録です。

学習に使った教材

Udemyの以下2つの教材を参考にまとめました。 ・["はじめてのRuby on Rails入門-RubyとRailsを基礎から学びWebアプリケーションをネットに公開しよう"](https://www.udemy.com/course/the-ultimate-ruby-on-rails-bootcamp/) ・["フルスタックエンジニアが教える 即戦力Railsエンジニア養成講座"](https://www.udemy.com/course/rails-kj/)

○seeds.rbについて

・新規投稿view実装前に初期データを投入する際に使用 ・rails db consoleに比べて,大量のデータを実装する際に便利 ・(基本的には,rails console からの作成が一般的)

○seeds.rbの記述方法

・プロジェクト名/db/seeds.erbにコードを記述
・今回は,数字の繰り返しパターンのユーザーデータを50個dbへ反映させる

qiita.rb
if Rails.env == 'development'
  (1..50).each do |i|
    model.create(name: "ユーザー#{i}", title: "タイトル#{i}", body:"本文#{i}")
  end
end

【解説】
Rails.env == 'development'
・railsの実行環境が開発モードかどうかを判定
・env は"development(開発)" "テスト(test)" "production(本番)"の3つが存在

model名.cretate(column名: 値,column名: 値)
・データベースに値を保存するコード
model名は単数系で記述すること

【createメソッドについて】
以下のようにすることで縦に並べて記述が可能

qiita.rb
model.create([
  { name: '値1' },
  { name: '値2' },
  { name: '値3' },
  { name: '値4' },
  { name: '値5' },
  { name: '値6' }
])
end

【解説】
・配列の中にハッシュ形式で記述する
・まとめて複数のデータを保存が可能

○seeds.rbの実行

rails db:seed

・seeds.rbに記載した情報をdbに反映させるためのコード


0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?