user_account

-1 rows


Columns

Column Type Size Nulls Auto Default Children Parents Comments
user_id uuid 2147483647 null
approval_request.decided_by fk_approval_request_decider_company R
approval_request.requested_by fk_approval_request_requester_company R
external_submission.submitted_by fk_external_submission_actor_company R
refresh_token.user_id fk_refresh_token_user_company R
task.created_by fk_task_created_by_company R
task.updated_by fk_task_updated_by_company R
task_checklist_item.completed_by fk_task_checklist_actor_company R
task_evidence.recorded_by fk_task_evidence_actor_company R
task_transition_history.actor_id fk_task_transition_actor_company R
company_id uuid 2147483647 null
approval_request.company_id fk_approval_request_requester_company R
external_submission.company_id fk_external_submission_actor_company R
refresh_token.company_id fk_refresh_token_user_company R
task.company_id fk_task_updated_by_company R
task_checklist_item.company_id fk_task_checklist_actor_company R
task_evidence.company_id fk_task_evidence_actor_company R
task_transition_history.company_id fk_task_transition_actor_company R
company.company_id fk_user_account_company R
email varchar 254 null
normalized_email varchar 254 null
password_hash varchar 255 null
role varchar 20 null
status varchar 20 null
created_at timestamptz 35,6 CURRENT_TIMESTAMP
updated_at timestamptz 35,6 CURRENT_TIMESTAMP
version int8 19 0
display_name varchar 80 '사용자'::character varying

Indexes

Constraint Name Type Sort Column(s)
pk_user_account Primary key Asc user_id
idx_user_account_company Performance Asc company_id
uq_user_account_normalized_email Must be unique Asc normalized_email
uq_user_account_user_company Must be unique Asc/Asc user_id + company_id

Check Constraints

Constraint Name Constraint
ck_user_account_password_hash_not_blank (char_length(TRIM(BOTH FROM password_hash)) > 0)
ck_user_account_normalized_email ((normalized_email)::text = lower(TRIM(BOTH FROM email)))
ck_user_account_status ((status)::text = ANY ((ARRAY['ACTIVE'::character varying, 'SUSPENDED'::character varying, 'DISABLED'::character varying])::text[]))
ck_user_account_display_name_not_blank (char_length(TRIM(BOTH FROM display_name)) > 0)
ck_user_account_role ((role)::text = ANY ((ARRAY['ADMIN'::character varying, 'HR'::character varying, 'VIEWER'::character varying])::text[]))
ck_user_account_normalized_email_not_blank (char_length(TRIM(BOTH FROM normalized_email)) > 0)
ck_user_account_email_not_blank (char_length(TRIM(BOTH FROM email)) > 0)
ck_user_account_updated_at (updated_at >= created_at)
ck_user_account_version (version >= 0)

Relationships