erDiagram ACCOUNTS { varchar account_id PK varchar mask varchar name varchar official_name varchar persistent_account_id varchar subtype varchar type varchar user_email varchar user_phone bytea plaid_access_token "Encrypted" } ACCOUNTS_BALANCE_HISTORY { int id PK varchar account_id FK float balances_available float balances_current varchar balances_iso_currency_code float balances_limit varchar balances_unofficial_currency_code timestamp balances_datetime } TRANSACTIONS { varchar transaction_id PK varchar account_id FK float amount date authorized_date varchar category_id date date varchar iso_currency_code varchar logo_url varchar merchant_entity_id varchar merchant_name varchar name varchar payment_channel boolean pending varchar personal_finance_category_icon_url varchar website varchar personal_finance_category_detailed varchar personal_finance_category boolean budget_run } FIN_REFRESH { int id PK timestamp refresh_time boolean refresh_status varchar refresh_description varchar refresh_type } BUDGET { int id PK varchar name varchar description numeric balance_limit varchar refresh_cadence varchar refresh_day_of_week boolean is_deleted boolean rules } BUDGET_BATCH { int id PK int budget_id FK timestamp start_date timestamp end_date numeric current_balance boolean under_limit timestamp update_time } BUDGETED_TRANSACTION { int id PK int batch_id FK varchar transaction_id FK timestamp verified_date } %% Relationships ACCOUNTS ||--o{ ACCOUNTS_BALANCE_HISTORY : "has many" ACCOUNTS ||--o{ TRANSACTIONS : "has many" TRANSACTIONS ||--o| BUDGETED_TRANSACTION : "is associated with" BUDGET ||--o{ BUDGET_BATCH : "has many" BUDGET_BATCH ||--o{ BUDGETED_TRANSACTION : "has many"
Database Model
For more information regarding database operations, refer to Core APIs