Columns
| Column | Type | Size | Nulls | Auto | Default | Children | Parents | Comments | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| worker_id | uuid | 2147483647 | null |
|
|
||||||||||||
| company_id | uuid | 2147483647 | null |
|
|
||||||||||||
| display_name | varchar | 120 | null |
|
|
||||||||||||
| nationality_code | varchar | 10 | √ | null |
|
|
|||||||||||
| preferred_language | varchar | 20 | √ | null |
|
|
|||||||||||
| work_status | varchar | 20 | null |
|
|
||||||||||||
| stay_expiry_date | date | 13 | √ | null |
|
|
|||||||||||
| contract_start_date | date | 13 | √ | null |
|
|
|||||||||||
| contract_end_date | date | 13 | √ | null |
|
|
|||||||||||
| created_at | timestamptz | 35,6 | CURRENT_TIMESTAMP |
|
|
||||||||||||
| updated_at | timestamptz | 35,6 | CURRENT_TIMESTAMP |
|
|
||||||||||||
| version | int8 | 19 | 0 |
|
|
Indexes
| Constraint Name | Type | Sort | Column(s) |
|---|---|---|---|
| pk_worker | Primary key | Asc | worker_id |
| idx_worker_company | Performance | Asc | company_id |
| uq_worker_id_company | Must be unique | Asc/Asc | worker_id + company_id |
Check Constraints
| Constraint Name | Constraint |
|---|---|
| ck_worker_version | (version >= 0) |
| ck_worker_display_name_not_blank | (char_length(TRIM(BOTH FROM display_name)) > 0) |
| ck_worker_work_status | ((work_status)::text = ANY ((ARRAY['ACTIVE'::character varying, 'ON_LEAVE'::character varying, 'RESIGNED'::character varying, 'TERMINATED'::character varying])::text[])) |
| ck_worker_contract_period | ((contract_start_date IS NULL) OR (contract_end_date IS NULL) OR (contract_end_date >= contract_start_date)) |
| ck_worker_updated_at | (updated_at >= created_at) |

