You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
2.7 KiB
51 lines
2.7 KiB
ALTER TABLE payments |
|
ADD COLUMN IF NOT EXISTS txid VARCHAR(255) NULL AFTER reference, |
|
ADD COLUMN IF NOT EXISTS payment_network VARCHAR(64) NULL AFTER payment_currency, |
|
ADD COLUMN IF NOT EXISTS payment_asset VARCHAR(32) NULL AFTER payment_network, |
|
ADD COLUMN IF NOT EXISTS expected_amount_cad DECIMAL(18,8) NULL AFTER cad_value_at_payment, |
|
ADD COLUMN IF NOT EXISTS received_amount_cad DECIMAL(18,8) NULL AFTER expected_amount_cad, |
|
ADD COLUMN IF NOT EXISTS first_seen_at DATETIME NULL AFTER updated_at, |
|
ADD COLUMN IF NOT EXISTS last_checked_at DATETIME NULL AFTER first_seen_at, |
|
ADD COLUMN IF NOT EXISTS alert_24_sent_at DATETIME NULL AFTER last_checked_at, |
|
ADD COLUMN IF NOT EXISTS alert_48_sent_at DATETIME NULL AFTER alert_24_sent_at, |
|
ADD COLUMN IF NOT EXISTS success_after_alert_sent_at DATETIME NULL AFTER alert_48_sent_at, |
|
ADD COLUMN IF NOT EXISTS urgent_alert_sent_at DATETIME NULL AFTER success_after_alert_sent_at, |
|
ADD COLUMN IF NOT EXISTS overpayment_email_sent_at DATETIME NULL AFTER urgent_alert_sent_at, |
|
ADD COLUMN IF NOT EXISTS review_status VARCHAR(64) NOT NULL DEFAULT 'pending' AFTER payment_status, |
|
ADD COLUMN IF NOT EXISTS review_notes TEXT NULL AFTER notes; |
|
|
|
ALTER TABLE invoices |
|
ADD COLUMN IF NOT EXISTS paid_via_method VARCHAR(64) NULL AFTER status, |
|
ADD COLUMN IF NOT EXISTS paid_via_asset VARCHAR(32) NULL AFTER paid_via_method, |
|
ADD COLUMN IF NOT EXISTS paid_via_network VARCHAR(64) NULL AFTER paid_via_asset; |
|
|
|
CREATE TABLE IF NOT EXISTS payment_reconciliation_events ( |
|
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, |
|
payment_id INT UNSIGNED NOT NULL, |
|
invoice_id INT UNSIGNED NOT NULL, |
|
event_type VARCHAR(64) NOT NULL, |
|
event_status VARCHAR(64) NOT NULL DEFAULT 'open', |
|
details LONGTEXT NULL, |
|
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, |
|
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, |
|
handled_at DATETIME NULL, |
|
handled_by VARCHAR(128) NULL, |
|
handled_notes TEXT NULL, |
|
KEY idx_pre_payment_id (payment_id), |
|
KEY idx_pre_invoice_id (invoice_id), |
|
KEY idx_pre_event_type (event_type), |
|
KEY idx_pre_event_status (event_status) |
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; |
|
|
|
CREATE TABLE IF NOT EXISTS crypto_reconciliation_runs ( |
|
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, |
|
run_mode VARCHAR(32) NOT NULL, |
|
started_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, |
|
finished_at DATETIME NULL, |
|
scanned_count INT NOT NULL DEFAULT 0, |
|
resolved_count INT NOT NULL DEFAULT 0, |
|
flagged_count INT NOT NULL DEFAULT 0, |
|
notes TEXT NULL, |
|
KEY idx_crr_run_mode (run_mode), |
|
KEY idx_crr_started_at (started_at) |
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|