【Rails】rake db:seedでテストユーザーを作成する
Rails力とSQL力が低すぎて基本的なことからググりながらできたので、メモっておく。
環境
- ruby 2.0.0
- Rails 4.0.8
- rake 10.3.2
- PostgreSQL 9.5.4
参考
- モデルを作って、データベースの値を表示してみる。 - 感謝のプログラミング 10000時間
- deviseで作ったusersテーブルにseeds.rbからユーザーを作成する - Qiita
- [seedデータの投入方法 - Qiita](http://qiita.com/ihatov08/items/e1fdc66537120a095840
手順
seeds.rb
を編集rake db:seed
(一度全削除したいときはrake db:setup
とか)
これだけでいいはずなんだけど、今触っているRailsアプリにはユーザーのアクティベーションが必要で、何故かそれはUser.create
でアクティブにできなかったのでDBを直接書き換えた。
psql postgres
でPostgresを起動rails dbconsole
を使えるならそっちでもいい
\c $DB_NAME
でDBに接続rails dbconsole
で入れば省略できるっぽい
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