1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-07-24 15:49:39 +02:00
Maybe/db/migrate/20250413141446_table_renames.rb
Zach Gollwitzer e657c40d19
Account:: namespace simplifications and cleanup (#2110)
* Flatten Holding model

* Flatten balance model

* Entries domain renames

* Fix valuations reference

* Fix trades stream

* Fix brakeman warnings

* Fix tests

* Replace existing entryable type references in DB
2025-04-14 11:40:34 -04:00

50 lines
1.4 KiB
Ruby

class TableRenames < ActiveRecord::Migration[7.2]
def change
# Entryables
rename_table :account_entries, :entries
rename_table :account_trades, :trades
rename_table :account_valuations, :valuations
rename_table :account_transactions, :transactions
rename_table :account_balances, :balances
rename_table :account_holdings, :holdings
reversible do |dir|
dir.up do
execute <<~SQL
UPDATE entries
SET entryable_type = CASE
WHEN entryable_type = 'Account::Transaction' THEN 'Transaction'
WHEN entryable_type = 'Account::Trade' THEN 'Trade'
WHEN entryable_type = 'Account::Valuation' THEN 'Valuation'
END
SQL
execute <<~SQL
UPDATE taggings
SET taggable_type = CASE
WHEN taggable_type = 'Account::Transaction' THEN 'Transaction'
END
SQL
end
dir.down do
execute <<~SQL
UPDATE entries
SET entryable_type = CASE
WHEN entryable_type = 'Transaction' THEN 'Account::Transaction'
WHEN entryable_type = 'Trade' THEN 'Account::Trade'
WHEN entryable_type = 'Valuation' THEN 'Account::Valuation'
END
SQL
execute <<~SQL
UPDATE taggings
SET taggable_type = CASE
WHEN taggable_type = 'Transaction' THEN 'Account::Transaction'
END
SQL
end
end
end
end