event_publication

-1 rows


Columns

Column Type Size Nulls Auto Default Children Parents Comments
event_id uuid 2147483647 null
event_consumption.event_id fk_event_consumption_publication R
outbox_manual_retry.event_id fk_outbox_manual_retry_event_company R
company_id uuid 2147483647 null
event_consumption.company_id fk_event_consumption_publication R
outbox_manual_retry.company_id fk_outbox_manual_retry_event_company R
company.company_id fk_event_publication_company R
event_type varchar 100 null
payload_version varchar 20 null
aggregate_type varchar 60 null
aggregate_id uuid 2147483647 null
actor_type varchar 30 null
actor_id uuid 2147483647 null
request_id varchar 128 null
trace_id varchar 64 null
payload_json text 2147483647 null
status varchar 30 null
attempt_count int4 10 0
next_attempt_at timestamptz 35,6 null
lease_owner varchar 128 null
lease_expires_at timestamptz 35,6 null
last_error_code varchar 80 null
completed_at timestamptz 35,6 null
occurred_at timestamptz 35,6 null
created_at timestamptz 35,6 null
updated_at timestamptz 35,6 null
version int8 19 0

Indexes

Constraint Name Type Sort Column(s)
pk_event_publication Primary key Asc event_id
idx_event_publication_claim Performance Asc/Asc/Asc/Asc status + next_attempt_at + lease_expires_at + occurred_at
idx_event_publication_company_time Performance Asc/Asc company_id + occurred_at
idx_event_publication_request Performance Asc/Asc company_id + request_id
idx_event_publication_review Performance Asc/Asc status + updated_at
uq_event_publication_id_company Must be unique Asc/Asc event_id + company_id

Check Constraints

Constraint Name Constraint
ck_event_publication_status (((status)::text = ANY ((ARRAY['PENDING'::character varying, 'PROCESSING'::character varying, 'RETRY_WAIT'::character varying, 'COMPLETED'::character varying, 'REVIEW_REQUIRED'::character varying])::text[])))
ck_event_publication_next_attempt (((((status)::text = ANY ((ARRAY['PENDING'::character varying, 'RETRY_WAIT'::character varying])::text[])) AND (next_attempt_at IS NOT NULL)) OR (((status)::text <> ALL ((ARRAY['PENDING'::character varying, 'RETRY_WAIT'::character varying])::text[])) AND (next_attempt_at IS NULL))))
ck_event_publication_attempt_count ((attempt_count >= 0))
ck_event_publication_type_not_blank ((char_length(TRIM(BOTH FROM event_type)) > 0))
ck_event_publication_lease (((((status)::text = 'PROCESSING'::text) AND (lease_owner IS NOT NULL) AND (char_length(TRIM(BOTH FROM lease_owner)) > 0) AND (lease_expires_at IS NOT NULL)) OR (((status)::text <> 'PROCESSING'::text) AND (lease_owner IS NULL) AND (lease_expires_at IS NULL))))
ck_event_publication_payload_not_blank ((char_length(TRIM(BOTH FROM payload_json)) > 0))
ck_event_publication_payload_version_not_blank ((char_length(TRIM(BOTH FROM payload_version)) > 0))
ck_event_publication_error (((((status)::text = ANY ((ARRAY['RETRY_WAIT'::character varying, 'REVIEW_REQUIRED'::character varying])::text[])) AND (last_error_code IS NOT NULL) AND (char_length(TRIM(BOTH FROM last_error_code)) > 0)) OR (((status)::text <> ALL ((ARRAY['RETRY_WAIT'::character varying, 'REVIEW_REQUIRED'::character varying])::text[])) AND (last_error_code IS NULL))))
ck_event_publication_aggregate_type_not_blank ((char_length(TRIM(BOTH FROM aggregate_type)) > 0))
ck_event_publication_timestamps (((created_at >= occurred_at) AND (updated_at >= created_at)))
ck_event_publication_completed (((((status)::text = 'COMPLETED'::text) AND (completed_at IS NOT NULL)) OR (((status)::text <> 'COMPLETED'::text) AND (completed_at IS NULL))))
ck_event_publication_actor_type (((actor_type)::text = ANY ((ARRAY['HR_USER'::character varying, 'WORKER_LINK'::character varying, 'AI_AGENT'::character varying, 'SYSTEM_RULE'::character varying])::text[])))
ck_event_publication_version ((version >= 0))
ck_event_publication_request_not_blank ((char_length(TRIM(BOTH FROM request_id)) > 0))

Relationships