【Heroku】seedデータの投入方法
seedデータとは
データベースに投入する初期データのことです
開発環境と本番環境にそれぞれseedデータを作成してみます
1. 開発環境にseedファイル「members.rb」を作成します
myapp $ touch db/seeds/development/members.rb
2. 作成された「members.rb」を編集します
names = %w(Taro Jiro Hana John Mike Sophy Bill Alex Mary Tom) fnames = ["佐藤", "鈴木", "高橋", "田中"] gnames = ["太郎", "次郎", "花子"] 0.upto(9) do |idx| Member.create( number: idx + 10, name: names[idx], full_name: "#{fnames[idx % 4]} #{gnames[idx % 3]}", email: "#{names[idx]}@example.com", birthday: "1981-12-01", sex: [1, 1, 2][idx % 3], administrator: (idx == 0), password: "asagao!", password_confirmation: "asagao!" ) end 0.upto(29) do |idx| Member.create( number: idx + 20, name: "John#{idx + 1}", full_name: "John Doe#{idx + 1}", email: "John#{idx+1}@example.com", birthday: "1981-12-01", sex: 1, administrator: false, password: "password", password_confirmation: "password" ) end
3. seedデータを投入します
myapp $ rails db:seed
4. 先ほど作成したseedファイル「members.rb」を本番環境にコピーします
myapp $ cp db/seeds/development/members.rb db/seeds/production
5. ここまでの変更をpushします
myapp $ git push myapp $ git push heroku
6. Herokuのデータベースをリセットします
myapp $ heroku pg:reset DATABASE
7. マイグレーションを実行します
myapp $ heroku run rails db:migrate
8. seedデータを入れて完了です
myapp $ heroku run rails db:seed