Columns
| Column | Type | Size | Nulls | Auto | Default | Children | Parents | Comments | ||
|---|---|---|---|---|---|---|---|---|---|---|
| id | bigserial | 19 | √ | nextval('transaction_id_seq1'::regclass) |
|
|
||||
| amount | numeric | 36,18 | √ | null |
|
|
||||
| currency | text | 2147483647 | null |
|
|
|||||
| state | text | 2147483647 | 'pending'::text |
|
|
|||||
| purpose | text | 2147483647 | null |
|
|
|||||
| provider | text | 2147483647 | 'stripe'::text |
|
|
|||||
| provider_tx_id | varchar | 255 | null |
|
|
|||||
| sender_id | int8 | 19 | √ | null |
|
|
||||
| recipient_id | int8 | 19 | √ | null |
|
|
||||
| target_id | int8 | 19 | √ | null |
|
|
||||
| target_type | int8 | 19 | √ | null |
|
|
||||
| created_at | timestamptz | 35,6 | √ | CURRENT_TIMESTAMP |
|
|
||||
| updated_at | timestamptz | 35,6 | √ | CURRENT_TIMESTAMP |
|
|
||||
| fee | numeric | 36,18 | √ | null |
|
|
||||
| remark | varchar | 255 | √ | null |
|
|
Indexes
| Constraint Name | Type | Sort | Column(s) |
|---|---|---|---|
| transaction_pkey1 | Primary key | Asc | id |
| transaction_created_at_index | Performance | Asc | created_at |
| transaction_currency_index | Performance | Asc | currency |
| transaction_provider_tx_id_unique | Must be unique | Asc | provider_tx_id |
| transaction_purpose_index | Performance | Asc | purpose |
| transaction_recipient_id_index | Performance | Asc | recipient_id |
| transaction_sender_id_index | Performance | Asc | sender_id |
| transaction_state_index | Performance | Asc | state |
Check Constraints
| Constraint Name | Constraint |
|---|---|
| transaction_purpose_check | ((purpose = ANY (ARRAY['appreciate'::text, 'appreciate-comment'::text, 'appreciate-subsidy'::text, 'invitation-accepted'::text, 'join-by-invitation'::text, 'join-by-task'::text, 'first-post'::text, 'system-subsidy'::text]))) |
| transaction_state_check | ((state = ANY (ARRAY['pending'::text, 'succeeded'::text, 'failed'::text, 'canceled'::text]))) |
| transaction_currency_check | ((currency = ANY (ARRAY['HKD'::text, 'LIKE'::text]))) |
| transaction_provider_check | ((provider = ANY (ARRAY['stripe'::text, 'likecoin'::text, 'matters'::text]))) |