Rails recommended way to add sample data

前端 未结 2 1485
被撕碎了的回忆
被撕碎了的回忆 2021-01-02 04:28

I have a Rake script similar to below,but I am wondering if there is a more efficient way to do this, without having to drop the database, run all the migrations, reseed the

2条回答
  •  轻奢々
    轻奢々 (楼主)
    2021-01-02 04:39

    You should not fill your database with sample data via db:seed. That's not the purpose of the seeds file.

    db:seed is for initial data that your app needs in order to function. It's not for testing and/or development purposes.

    What I do is to have one task that populates sample data and another task that drops the database, creates it, migrates, seeds and populates. The cool thing is that it's composed of other tasks, so you don't have to duplicate code anywhere:

    # lib/tasks/sample_data.rake
    namespace :db do
      desc 'Drop, create, migrate, seed and populate sample data'
      task prepare: [:drop, :create, "schema:load", :seed, :populate_sample_data] do
        puts 'Ready to go!'
      end
    
      desc 'Populates the database with sample data'
      task populate_sample_data: :environment do
        10.times { User.create!(email: Faker::Internet.email) }
      end
    end
    

提交回复
热议问题