mysql - How do i add a summation column to my table on Rails 4 -
i have existing table "registers" columns; :full_name, :amount_paid, :user_id, :course_id
. have course table columns: :title, :price
.
i want add column registers table calculate balance register.course.price
, register.
so tried
rails g migration add_balance_to_registers balance:"register.course.price - register.amount_paid"
but when try
rake db:migrate
i error
you can add field registers
table, populate appropriate values.
first add field new migration
rails g migration addbalancetoregisters balance:float
then start migraation add field registers
table rake db:migrate
but field balance
empty, have populate it.
you create rake
task this.
inside lib/tasks/
folder add new file registers.rake
.
inside registers.rake
add folowing code:
namespace :registers desc "populate registers balance appropriate balance amount" task :sync_balance => :environment register.all.each |r| b = r.course.price - r.amount_paid r.update balance: b end end end
then run rake
task,
rake registers:sync_balance
Comments
Post a Comment