From c3c0ab3530a57364ccf09b594d71398f65185781 Mon Sep 17 00:00:00 2001 From: Zach Gollwitzer Date: Tue, 1 Oct 2024 13:15:24 -0400 Subject: [PATCH] Fix incorrect partial sync balance generation (#1223) --- app/models/account/balance/syncer.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/models/account/balance/syncer.rb b/app/models/account/balance/syncer.rb index 69748643..a937955d 100644 --- a/app/models/account/balance/syncer.rb +++ b/app/models/account/balance/syncer.rb @@ -14,7 +14,8 @@ class Account::Balance::Syncer if daily_balances.any? account.reload - account.update! balance: daily_balances.select { |db| db.currency == account.currency }.last&.balance + last_balance = daily_balances.select { |db| db.currency == account.currency }.last&.balance + account.update! balance: last_balance end end rescue Money::ConversionError => e @@ -102,7 +103,7 @@ class Account::Balance::Syncer end def find_prior_balance - account.balances.where("date < ?", sync_start_date).order(date: :desc).first&.balance + account.balances.where(currency: account.currency).where("date < ?", sync_start_date).order(date: :desc).first&.balance end def net_entry_flows(entries, target_currency = account.currency)