feat: persist unmanaged position lifecycle state
Co-authored-by: genichin <4282227+genichin@users.noreply.github.com>
This commit is contained in:
co-authored by
genichin
parent
ae2e598209
commit
fe51d211d9
@@ -0,0 +1,38 @@
|
||||
CREATE TABLE IF NOT EXISTS unmanaged_position_state (
|
||||
instance_key TEXT NOT NULL,
|
||||
symbol TEXT NOT NULL,
|
||||
quantity INTEGER NOT NULL,
|
||||
lifecycle_state TEXT NOT NULL,
|
||||
first_seen_at TIMESTAMPTZ NOT NULL,
|
||||
last_seen_at TIMESTAMPTZ NOT NULL,
|
||||
quantity_changed_at TIMESTAMPTZ NOT NULL,
|
||||
resolved_at TIMESTAMPTZ NULL,
|
||||
operator_action TEXT NULL,
|
||||
evidence_ref TEXT NULL,
|
||||
operator_note TEXT NOT NULL DEFAULT '',
|
||||
operator_actor TEXT NULL,
|
||||
operator_updated_at TIMESTAMPTZ NULL,
|
||||
created_at TIMESTAMPTZ NOT NULL,
|
||||
updated_at TIMESTAMPTZ NOT NULL,
|
||||
PRIMARY KEY (instance_key, symbol)
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_unmanaged_position_state_lifecycle
|
||||
ON unmanaged_position_state (instance_key, lifecycle_state, updated_at DESC);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS unmanaged_position_audit (
|
||||
audit_id BIGSERIAL PRIMARY KEY,
|
||||
instance_key TEXT NOT NULL,
|
||||
symbol TEXT NOT NULL,
|
||||
event_type TEXT NOT NULL,
|
||||
action TEXT NULL,
|
||||
quantity INTEGER NOT NULL,
|
||||
lifecycle_state TEXT NOT NULL,
|
||||
actor TEXT NOT NULL,
|
||||
evidence_ref TEXT NULL,
|
||||
note TEXT NOT NULL DEFAULT '',
|
||||
created_at TIMESTAMPTZ NOT NULL
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_unmanaged_position_audit_lookup
|
||||
ON unmanaged_position_audit (instance_key, symbol, audit_id);
|
||||
Reference in New Issue
Block a user