worker_document

-1 rows


Columns

Column Type Size Nulls Auto Default Children Parents Comments
worker_document_id uuid 2147483647 null
document_ocr_run.worker_document_id fk_document_ocr_run_document_company R
stay_verification_case.approval_result_document_id fk_stay_verification_approval_result R
stay_verification_case.extension_receipt_document_id fk_stay_verification_extension_receipt R
worker_id uuid 2147483647 null
worker.worker_id fk_worker_document_worker R
task.worker_id fk_worker_document_task_worker_company R
company_id uuid 2147483647 null
document_ocr_run.company_id fk_document_ocr_run_document_company R
stay_verification_case.company_id fk_stay_verification_extension_receipt R
user_account.company_id fk_worker_document_archived_by_company R
worker.company_id fk_worker_document_worker R
task.company_id fk_worker_document_task_worker_company R
document_type varchar 40 null
submission_status varchar 20 null
expiry_date date 13 null
destination varchar 120 null
note varchar 500 null
file_id uuid 2147483647 null
created_at timestamptz 35,6 CURRENT_TIMESTAMP
updated_at timestamptz 35,6 CURRENT_TIMESTAMP
version int8 19 0
task_id uuid 2147483647 null
task.task_id fk_worker_document_task_worker_company R
issue_date date 13 null
source varchar 30 'LEGACY'::character varying
archived_at timestamptz 35,6 null
archived_by uuid 2147483647 null
user_account.user_id fk_worker_document_archived_by_company R
archive_reason varchar 500 null

Indexes

Constraint Name Type Sort Column(s)
pk_worker_document Primary key Asc worker_document_id
idx_worker_document_company_archive Performance Asc/Asc/Desc company_id + archived_at + updated_at
idx_worker_document_company_expiry Performance Asc/Asc company_id + expiry_date
idx_worker_document_company_source Performance Asc/Asc company_id + source
idx_worker_document_company_status Performance Asc/Asc company_id + submission_status
idx_worker_document_task Performance Asc/Asc task_id + company_id
idx_worker_document_worker Performance Asc worker_id
uq_worker_document_id_company Must be unique Asc/Asc worker_document_id + company_id

Check Constraints

Constraint Name Constraint
ck_worker_document_archive_metadata ((((archived_at IS NULL) AND (archived_by IS NULL) AND (archive_reason IS NULL)) OR ((archived_at IS NOT NULL) AND (archived_by IS NOT NULL) AND (archive_reason IS NOT NULL) AND (char_length(TRIM(BOTH FROM archive_reason)) > 0))))
ck_worker_document_source (((source)::text = ANY ((ARRAY['LEGACY'::character varying, 'DEMO_SEED'::character varying, 'HR_UPLOAD'::character varying, 'WORKER_UPLOAD'::character varying, 'AI_GENERATED'::character varying])::text[])))
ck_worker_document_submission_status (((submission_status)::text = ANY ((ARRAY['DRAFT'::character varying, 'MISSING'::character varying, 'SUBMITTED'::character varying, 'VERIFIED'::character varying])::text[])))
ck_worker_document_version ((version >= 0))
ck_worker_document_issue_expiry (((issue_date IS NULL) OR (expiry_date IS NULL) OR (expiry_date >= issue_date)))
ck_worker_document_updated_at ((updated_at >= created_at))
ck_worker_document_type (((document_type)::text = ANY ((ARRAY['PASSPORT_COPY'::character varying, 'ARC'::character varying, 'CONTRACT'::character varying, 'PERMIT'::character varying, 'EMPLOYMENT_EXTENSION_APPLICATION'::character varying, 'INTEGRATED_APPLICATION'::character varying, 'IDENTITY_GUARANTY'::character varying, 'RESIDENCE_PROOF'::character varying])::text[])))

Relationships