駄文型

プログラミングとか英語とかの話題を中心にした至極ちゃらんぽらんな日記です。

【Rails】rake db:seedでテストユーザーを作成する

Rails力とSQL力が低すぎて基本的なことからググりながらできたので、メモっておく。

環境

参考

手順

  1. seeds.rb を編集
  2. rake db:seed (一度全削除したいときはrake db:setupとか)

これだけでいいはずなんだけど、今触っているRailsアプリにはユーザーのアクティベーションが必要で、何故かそれはUser.createでアクティブにできなかったのでDBを直接書き換えた。

  1. psql postgres でPostgresを起動
    • rails dbconsole を使えるならそっちでもいい
  2. \c $DB_NAME でDBに接続
    • rails dbconsole で入れば省略できるっぽい
  3. UPDATE users SET active=true 等でアクティベート

seeds.rb の中身(例)

100.times do |index|
  no = index + 1
  user = User.create(
    name:           "user_#{no}",
    email_address:  "email_#{no}@example.com",
    password:               "#{no}password#{no}",
    password_confirmation:  "#{no}password#{no}",
    address:        "aaaa",
    phone:          "bbbb"
  )
  user.save!
end