INSERT INTO order_events (
event_id,
customer_id,
status,
created_at,
amount,
payload
)
SELECT
('00000000-0000-0000-0000-' || lpad(g::text, 12, '0'))::uuid AS event_id,
('11111111-1111-1111-1111-' || lpad((g % 10000)::text, 12, '0'))::uuid AS customer_id,
CASE
WHEN g % 100 < 70 THEN 'processed'
WHEN g % 100 < 90 THEN 'pending'
WHEN g % 100 < 98 THEN 'failed'
ELSE 'cancelled'
END AS status,
'2026-01-01 00:00:00+00'::timestamptz + (g || ' seconds')::interval AS created_at,
round((10 + random() * 500)::numeric, 2) AS amount,
jsonb_build_object(
'source', 'demo',
'sequence', g,
'region',
CASE
WHEN g % 3 = 0 THEN 'east'
WHEN g % 3 = 1 THEN 'central'
ELSE 'west'
END
) AS payload
FROM generate_series(1, 250000) AS g;