db/workout_seeds.rb
# Tworzenie treningów od początku roku do dzisiajstart_date = Date.new(Date.today.year, 1, 1)end_date = Date.today# Funkcja pomocnicza do generowania losowych dat między dwoma datamidef random_date(start_date, end_date) rand(start_date..end_date)end# Funkcja pomocnicza do wybierania losowych treningówdef select_random_exercises(count) Exercise.order("RANDOM()").limit(count)end# Funkcja pomocnicza do wybierania losowych osóbdef select_random_people(count) Person.where(id: 7..9).limit(count)end120.times do |index| workout_date = random_date(start_date, end_date) workout = Workout.create( title: "trening z dnia #{workout_date} :: #{index + 1}", description: Faker::Lorem.paragraphs(number: rand(0..6)), revision: rand(1..5), load: "#{rand(5..50)} kg", load_unit: "kg", volume_description: "Opis objętości #{index + 1}", duration: "#{rand(15..60)}", intensity: rand(1..10), intensity_description: "Opis intensywności #{index + 1}", # author_id: rand(1..10), # Zakładając, że masz 10 autorów w bazie danych author_id: 4, scheduled_date: workout_date, workout_type: "ćwiczenie", volume: "#{rand(1..5)} serii po #{rand(5..20)} powtórzeń")# Wybieranie losowej liczby ćwiczeń dla treningu (można dostosować, jeśli trzeba)number_of_exercises = rand(1..3)exercises = select_random_exercises(number_of_exercises)# Dodawanie wybranych ćwiczeń do treninguexercises.each do |exercise| workout.exercises << exerciseend# Wybieranie losowej liczby osób dla treningu (można dostosować, jeśli trzeba)number_of_people = rand(1..3)people = select_random_people(number_of_people)# Dodawanie wybranych osób do treningupeople.each do |person| workout.people << personendputs "Stworzono trening #{workout.title} na dzień #{workout.scheduled_date} z #{number_of_people} osobami"endputs "Utworzono 120 treningów!"
tworzymy plik app/lib/db_seed.rake
namespace :db do namespace :seed do desc 'Load data from workout_seeds.rb' task workout_seeds: :environment do load(Rails.root.join('db', 'workout_seeds.rb')) end task athlete_workout_seeds: :environment do load(Rails.root.join('db', 'athlete_workout_seeds.rb')) end end end