From 6ad4929d53ad65bc3f8d1d06b4b18d7d77f52d4c Mon Sep 17 00:00:00 2001 From: Ricky Barrette Date: Mon, 21 Feb 2022 05:17:35 -0500 Subject: [PATCH] Sync Estimates & Invoices on database update --- db/migrate/032_add_txn_dates.rb | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/db/migrate/032_add_txn_dates.rb b/db/migrate/032_add_txn_dates.rb index 799770b..c6915c3 100644 --- a/db/migrate/032_add_txn_dates.rb +++ b/db/migrate/032_add_txn_dates.rb @@ -12,5 +12,33 @@ class AddTxnDates < ActiveRecord::Migration[5.1] def change add_column :qbo_invoices, :txn_date, :date add_column :qbo_estimates, :txn_date, :date + + reversible do |direction| + direction.up { + break unless Qbo.first + + QboEstimate.reset_column_information + QboInvoice.reset_column_information + + say "Sync Estimates" + + QboEstimate.sync + + say "Sync Invoices" + + invoices = QboInvoice.get_base.all + + invoices.each { |invoice| + # Load the invoice into the database + qbo_invoice = QboInvoice.find_or_create_by(id: invoice.id) + qbo_invoice.doc_number = invoice.doc_number + qbo_invoice.id = invoice.id + qbo_invoice.customer_id = invoice.customer_ref + qbo_invoice.txn_date = invoice.txn_date + qbo_invoice.save! + } + } + end end + end