17 lines
991 B
SQL
17 lines
991 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); |