Для тех, у кого есть вопросы по этому вопросу
У нас может быть несколько начальных файлов в папке db/seeds/
, и мы можем написать задачу rake для запуска отдельного файла, когда мы хотим запустить
# lib/tasks/custom_seed.rake
# lib/tasks/custom_seed.rake
namespace :db do
namespace :seed do
Dir[File.join(Rails.root, 'db', 'seeds', '*.rb')].each do |filename|
task_name = File.basename(filename, '.rb').intern
task task_name => :environment do
load(filename)
end
end
task :all => :environment do
Dir[File.join(Rails.root, 'db', 'seeds', '*.rb')].sort.each do |filename|
load(filename)
end
end
end
end
Затем, чтобы запустить конкретный начальный файл, вы можете просто запустить
rake db:seed:seed_file_name
Чтобы запустить весь начальный файл с порядком в этой папке db/seeds
, выполните команду ниже
rake db:seed:all