mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-08-02 03:55:20 +02:00
Account::Entry Delegated Type (namespace updates part 7) (#923)
* Initial entryable models * Update transfer and tests * Update transaction controllers and tests * Update sync process to use new entries model * Get dashboard working again * Update transfers, imports, and accounts to use Account::Entry * Update system tests * Consolidate transaction management into entries controller * Add permitted partial key helper * Move account transactions list to entries controller * Delegate transaction entries search * Move transfer relation to entry * Update bulk transaction management flows to use entries * Remove test code * Test fix attempt * Update demo data script * Consolidate remaining transaction partials to entries * Consolidate valuations controller to entries controller * Lint fix * Remove unused files, additional cleanup * Add back valuation creation * Make migrations fully reversible * Stale routes cleanup * Migrations reversible fix * Move types to entryable concern * Fix search when no entries found * Remove more unused code
This commit is contained in:
parent
320954282a
commit
c3314e62d1
105 changed files with 2150 additions and 1576 deletions
|
@ -0,0 +1,58 @@
|
|||
class RemoveOldColumnsFromEntryables < ActiveRecord::Migration[7.2]
|
||||
def change
|
||||
reversible do |dir|
|
||||
dir.up do
|
||||
# Remove old columns from Account::Transaction
|
||||
remove_column :account_transactions, :name
|
||||
remove_column :account_transactions, :date
|
||||
remove_column :account_transactions, :amount
|
||||
remove_column :account_transactions, :currency
|
||||
remove_column :account_transactions, :account_id
|
||||
|
||||
# Remove old columns from Account::Valuation
|
||||
remove_column :account_valuations, :date
|
||||
remove_column :account_valuations, :value
|
||||
remove_column :account_valuations, :currency
|
||||
remove_column :account_valuations, :account_id
|
||||
end
|
||||
|
||||
dir.down do
|
||||
# Add old columns back to Account::Transaction
|
||||
add_column :account_transactions, :name, :string
|
||||
add_column :account_transactions, :date, :date
|
||||
add_column :account_transactions, :amount, :decimal, precision: 19, scale: 4
|
||||
add_column :account_transactions, :currency, :string
|
||||
add_column :account_transactions, :account_id, :uuid
|
||||
|
||||
# Add old columns back to Account::Valuation
|
||||
add_column :account_valuations, :date, :date
|
||||
add_column :account_valuations, :value, :decimal, precision: 19, scale: 4
|
||||
add_column :account_valuations, :currency, :string
|
||||
add_column :account_valuations, :account_id, :uuid
|
||||
|
||||
# Repopulate data for Account::Transaction
|
||||
execute <<-SQL.squish
|
||||
UPDATE account_transactions at
|
||||
SET name = ae.name,
|
||||
date = ae.date,
|
||||
amount = ae.amount,
|
||||
currency = ae.currency,
|
||||
account_id = ae.account_id
|
||||
FROM account_entries ae
|
||||
WHERE ae.entryable_type = 'Account::Transaction' AND ae.entryable_id = at.id
|
||||
SQL
|
||||
|
||||
# Repopulate data for Account::Valuation
|
||||
execute <<-SQL.squish
|
||||
UPDATE account_valuations av
|
||||
SET date = ae.date,
|
||||
value = ae.amount,
|
||||
currency = ae.currency,
|
||||
account_id = ae.account_id
|
||||
FROM account_entries ae
|
||||
WHERE ae.entryable_type = 'Account::Valuation' AND ae.entryable_id = av.id
|
||||
SQL
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue