mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-07-19 13:19:39 +02:00
* 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
28 lines
1.1 KiB
Ruby
28 lines
1.1 KiB
Ruby
class MigrateEntryables < ActiveRecord::Migration[7.2]
|
|
def change
|
|
reversible do |dir|
|
|
dir.up do
|
|
# Migrate Account::Transaction data
|
|
execute <<-SQL.squish
|
|
INSERT INTO account_entries (name, date, amount, currency, account_id, entryable_type, entryable_id, created_at, updated_at)
|
|
SELECT name, date, amount, currency, account_id, 'Account::Transaction', id, created_at, updated_at
|
|
FROM account_transactions
|
|
SQL
|
|
|
|
# Migrate Account::Valuation data
|
|
execute <<-SQL.squish
|
|
INSERT INTO account_entries (name, date, amount, currency, account_id, entryable_type, entryable_id, created_at, updated_at)
|
|
SELECT 'Manual valuation', date, value, currency, account_id, 'Account::Valuation', id, created_at, updated_at
|
|
FROM account_valuations
|
|
SQL
|
|
end
|
|
|
|
dir.down do
|
|
# Delete the entries from account_entries
|
|
execute <<-SQL.squish
|
|
DELETE FROM account_entries WHERE entryable_type IN ('Account::Transaction', 'Account::Valuation')
|
|
SQL
|
|
end
|
|
end
|
|
end
|
|
end
|