Columns
| Column | Type | Size | Nulls | Auto | Default | Children | Parents | Comments | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| worker_document_id | uuid | 2147483647 | null |
|
|
||||||||||||||||||
| worker_id | uuid | 2147483647 | null |
|
|
||||||||||||||||||
| company_id | uuid | 2147483647 | null |
|
|
||||||||||||||||||
| 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 |
|
|
|||||||||||||||||
| issue_date | date | 13 | √ | null |
|
|
|||||||||||||||||
| source | varchar | 30 | 'LEGACY'::character varying |
|
|
||||||||||||||||||
| archived_at | timestamptz | 35,6 | √ | null |
|
|
|||||||||||||||||
| archived_by | uuid | 2147483647 | √ | null |
|
|
|||||||||||||||||
| 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[]))) |



