15 lines
868 B
SQL
15 lines
868 B
SQL
CREATE TABLE order_state_logs (
|
|
id BIGINT PRIMARY KEY,
|
|
order_id BIGINT NOT NULL REFERENCES orders(id),
|
|
from_status VARCHAR(30),
|
|
to_status VARCHAR(30) NOT NULL,
|
|
action VARCHAR(50) NOT NULL,
|
|
actor_id BIGINT NOT NULL,
|
|
actor_role VARCHAR(20) NOT NULL,
|
|
metadata JSONB,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
|
);
|
|
|
|
CREATE INDEX idx_state_logs_order ON order_state_logs(order_id, created_at);
|
|
CREATE INDEX idx_state_logs_order_created ON order_state_logs(order_id, created_at DESC);
|
|
CREATE INDEX idx_state_logs_actor ON order_state_logs(actor_id, created_at DESC); |