Columns
| Column | Type | Size | Nulls | Auto | Default | Children | Parents | Comments | |||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| user_id | uuid | 2147483647 | null |
|
|
||||||||||||||||||||||||||||||
| company_id | uuid | 2147483647 | null |
|
|
||||||||||||||||||||||||||||||
| 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) |

