dodil/erp-brick-payments

DODIL ERP brick: payments

src/brick_payments/migrations/00002_audit1/up.sql

-- 00002_audit1 - additive only. The requester's sub beside requested_by (the requester never approves under EITHER
-- identity); the business date a receipt was recorded (as-at views judge a receipt by it); the claim tables that make two
-- writers of the same invoice or the same receipt/credit collide on a key (DataK3 detects only same-key conflicts); and the
-- dated business_timezone.

ALTER TABLE pay_refund ADD COLUMN requested_sub VARCHAR;
ALTER TABLE pay_receipt ADD COLUMN recorded_on DATE;

CREATE TABLE IF NOT EXISTS pay_invoice_claim (
    invoice_id VARCHAR NOT NULL,
    n          INTEGER NOT NULL,
    claimed_at TIMESTAMP,
    created_at TIMESTAMP,
    updated_at TIMESTAMP,
    PRIMARY KEY (invoice_id, n)
);

CREATE TABLE IF NOT EXISTS pay_source_claim (
    source_kind VARCHAR NOT NULL,
    source_id   VARCHAR NOT NULL,
    n           INTEGER NOT NULL,
    claimed_at  TIMESTAMP,
    created_at  TIMESTAMP,
    updated_at  TIMESTAMP,
    PRIMARY KEY (source_kind, source_id, n)
);

CREATE TABLE IF NOT EXISTS pay_timezone (
    valid_from DATE NOT NULL,
    zone       VARCHAR,
    set_by     VARCHAR,
    set_at     TIMESTAMP,
    created_at TIMESTAMP,
    updated_at TIMESTAMP,
    PRIMARY KEY (valid_from)
);