mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-07-19 05:09:38 +02:00
Feature: Add "amount type" configuration column for CSV imports (#1947)
* Rough draft * Schema conflict update * Implement signage * Update system tests * Lint fixes
This commit is contained in:
parent
8cf077f28d
commit
c88fe2e3b2
21 changed files with 366 additions and 83 deletions
20
db/migrate/20250304200956_add_signage_type_to_imports.rb
Normal file
20
db/migrate/20250304200956_add_signage_type_to_imports.rb
Normal file
|
@ -0,0 +1,20 @@
|
|||
class AddSignageTypeToImports < ActiveRecord::Migration[7.2]
|
||||
def change
|
||||
change_column_default :imports, :date_col_label, from: "date", to: nil
|
||||
change_column_default :imports, :amount_col_label, from: "amount", to: nil
|
||||
change_column_default :imports, :name_col_label, from: "name", to: nil
|
||||
change_column_default :imports, :category_col_label, from: "category", to: nil
|
||||
change_column_default :imports, :tags_col_label, from: "tags", to: nil
|
||||
change_column_default :imports, :account_col_label, from: "account", to: nil
|
||||
change_column_default :imports, :qty_col_label, from: "qty", to: nil
|
||||
change_column_default :imports, :ticker_col_label, from: "ticker", to: nil
|
||||
change_column_default :imports, :price_col_label, from: "price", to: nil
|
||||
change_column_default :imports, :entity_type_col_label, from: "entity_type", to: nil
|
||||
change_column_default :imports, :notes_col_label, from: "notes", to: nil
|
||||
change_column_default :imports, :currency_col_label, from: "currency", to: nil
|
||||
|
||||
# User can select "custom", then assign "debit" or "credit" (or custom value) to determine inflow/outflow of txn
|
||||
add_column :imports, :amount_type_strategy, :string, default: "signed_amount"
|
||||
add_column :imports, :amount_type_inflow_value, :string
|
||||
end
|
||||
end
|
26
db/schema.rb
generated
26
db/schema.rb
generated
|
@ -299,23 +299,25 @@ ActiveRecord::Schema[7.2].define(version: 2025_04_13_141446) do
|
|||
t.uuid "family_id", null: false
|
||||
t.uuid "account_id"
|
||||
t.string "type", null: false
|
||||
t.string "date_col_label", default: "date"
|
||||
t.string "amount_col_label", default: "amount"
|
||||
t.string "name_col_label", default: "name"
|
||||
t.string "category_col_label", default: "category"
|
||||
t.string "tags_col_label", default: "tags"
|
||||
t.string "account_col_label", default: "account"
|
||||
t.string "qty_col_label", default: "qty"
|
||||
t.string "ticker_col_label", default: "ticker"
|
||||
t.string "price_col_label", default: "price"
|
||||
t.string "entity_type_col_label", default: "type"
|
||||
t.string "notes_col_label", default: "notes"
|
||||
t.string "currency_col_label", default: "currency"
|
||||
t.string "date_col_label"
|
||||
t.string "amount_col_label"
|
||||
t.string "name_col_label"
|
||||
t.string "category_col_label"
|
||||
t.string "tags_col_label"
|
||||
t.string "account_col_label"
|
||||
t.string "qty_col_label"
|
||||
t.string "ticker_col_label"
|
||||
t.string "price_col_label"
|
||||
t.string "entity_type_col_label"
|
||||
t.string "notes_col_label"
|
||||
t.string "currency_col_label"
|
||||
t.string "date_format", default: "%m/%d/%Y"
|
||||
t.string "signage_convention", default: "inflows_positive"
|
||||
t.string "error"
|
||||
t.string "number_format"
|
||||
t.string "exchange_operating_mic_col_label"
|
||||
t.string "amount_type_strategy", default: "signed_amount"
|
||||
t.string "amount_type_inflow_value"
|
||||
t.index ["family_id"], name: "index_imports_on_family_id"
|
||||
end
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue