⛳
Rails|テストデータの挿入
DBを初期化する
ターミナル
$ rails db:migrate:reset
seedファイルにテストデータを挿入
seeds.rb
taro = User.find_or_create_by!(email: "taro@example.com") do |user|
user.name = "佐藤太郎"
user.job = "大学生"
user.password = "password"
user.confirmed_at = Time.now
user.profile_image = ActiveStorage::Blob.create_and_upload!(io: File.open("#{Rails.root}/db/fixtures/hanako.jpg"), filename:"taro.jpg")
end
※dbフォルダ内に fixtures
フォルダを作成し、そこに画像を格納する。
データベースへ反映
ターミナル
$ rails db:seed
以下コマンドでコンソールを開いて User.all
等を実行し、データベースに反映されているかどうかを確認する。
ターミナル
$ rails c
DBをリセットしたい時
rails db:seedを実行する場合、
ターミナル
$ rails db:reset
rails db:seedを実行しない場合
ターミナル
$ rails db:migrate:reset
本番環境でのseedデータの挿入
EC2
$ rails db:seed RAILS_ENV=production
本番環境でDBのリセット
EC2
$ RAILS_ENV=production DISABLE_DATABASE_ENVIRONMENT_CHECK=1 bundle exec rake db:drop
再度DBへ反映
EC2
$ rake db:create RAILS_ENV=production
$ rake db:migrate RAILS_ENV=production
$ rake db:seed RAILS_ENV=production
Discussion