wedding-planner/db/seeds.rb

60 lines
2.2 KiB
Ruby

# This file should ensure the existence of records required to run the application in every environment (production,
# development, test). The code here should be idempotent so that it can be executed at any point in every environment.
# The data can then be loaded with the bin/rails db:seed command (or created alongside the database with db:setup).
#
# Example:
#
# ["Action", "Comedy", "Drama", "Horror"].each do |genre_name|
# MovieGenre.find_or_create_by!(name: genre_name)
# end
Expense.delete_all
Guest.delete_all
ActsAsTaggableOn::Tagging.delete_all
ActsAsTaggableOn::Tag.delete_all
Expense.create!(name: 'Photographer', amount: 3000, pricing_type: 'fixed')
Expense.create!(name: 'Country house', amount: 6000, pricing_type: 'fixed')
Expense.create!(name: 'Catering', amount: 200, pricing_type: 'per_person')
Expense.create!(name: 'Flowers', amount: 500, pricing_type: 'fixed')
Expense.create!(name: 'Band', amount: 1000, pricing_type: 'fixed')
Expense.create!(name: 'Wedding planner', amount: 2000, pricing_type: 'fixed')
Expense.create!(name: 'Dress', amount: 1000, pricing_type: 'fixed')
Expense.create!(name: 'Suit', amount: 500, pricing_type: 'fixed')
Expense.create!(name: 'Rings', amount: 1000, pricing_type: 'fixed')
Expense.create!(name: 'Makeup', amount: 200, pricing_type: 'fixed')
Expense.create!(name: 'Hair', amount: 200, pricing_type: 'fixed')
Expense.create!(name: 'Transportation', amount: 3000, pricing_type: 'fixed')
Expense.create!(name: 'Invitations', amount: 200, pricing_type: 'fixed')
Expense.create!(name: 'Cake', amount: 500, pricing_type: 'fixed')
300.times do
Guest.create!(first_name: Faker::Name.first_name,
last_name: Faker::Name.last_name,
email: Faker::Internet.email,
phone: Faker::PhoneNumber.cell_phone)
end
{
close_family: 10,
family_1_group_a: 5,
family_1_group_b: 5,
family_2_group_a: 7,
family_2_group_b: 15,
previous_company: 5,
new_company: 15,
college: 10,
high_school: 5,
childhood: 5,
basket_team: 20,
soccer_team: 15,
dance_club: 10
}.each do |affinity_group, count|
Guest.all.sample(count).each do |guest|
guest.affinity_group_list.add(affinity_group)
guest.save!
rescue => e
binding.pry
end
end