rails6 別ファイルを作成してseedを実行する

rails6 別ファイルを作成してseedを実行する

rails6で、seeds.rbではなく、別ファイルを作成してseedを実行する手順を記述してます。railsのバージョンは6.1.0です。

環境

  • OS ubuntu20.10
  • ruby 2.7.2
  • rails 6.1.0
  • Postgresql 13.1 (dockerで構築)

別ファイル作成

seeds.rbではなく、別のファイルを作成してデータを作成します。

まずは適当な「rb」ファイルを作成します。
※ここでは「user.rb」というファイルを「db」フォルダ配下に作成します。

user.rbの内容は、Fakerでデータを作成しているだけです。

100.times do |n|
  name = Faker::Name.name
  address = Faker::Address.city
  job = Faker::Job.position

  User.create(
    name: name,
    address: address,
    job: job,
  )
end

別ファイル実行

「db」配下の「user.rb」を実行するには「bundle exec rails r」を使用すれば、実行可能です。

bundle exec rails r db/user.rb