Files
juwan-backend/desc/sql/dispute/10-dispute_timeline.sql

16 lines
650 B
SQL

CREATE TABLE dispute_timeline
(
id BIGINT PRIMARY KEY,
dispute_id BIGINT NOT NULL REFERENCES disputes (id),
event_type VARCHAR(30) NOT NULL,
actor_id BIGINT,
actor_name VARCHAR(100),
details JSONB,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
CONSTRAINT chk_event_type CHECK (event_type IN ('created', 'response', 'reviewing', 'resolved', 'appealed'))
);
CREATE INDEX idx_timeline_dispute ON dispute_timeline (dispute_id, created_at);
CREATE INDEX idx_timeline_dispute_created ON dispute_timeline (dispute_id, created_at);
CREATE INDEX idx_timeline_details ON dispute_timeline USING gin(details);