person
| Column |
Type |
PK |
Required |
Default |
| person_id |
ULID |
Yes |
Yes |
|
| party_id |
VARCHAR |
No |
Yes |
|
| person_type_id |
ULID |
No |
Yes |
|
| person_first_name |
TEXT |
No |
Yes |
|
| person_middle_name |
TEXT |
No |
No |
|
| person_last_name |
TEXT |
No |
Yes |
|
| previous_name |
TEXT |
No |
No |
|
| honorific_prefix |
TEXT |
No |
No |
|
| honorific_suffix |
TEXT |
No |
No |
|
| gender_id |
ULID |
No |
Yes |
|
| sex_id |
ULID |
No |
Yes |
|
| elaboration |
TEXT |
No |
No |
|
| created_at |
TIMESTAMPTZ |
No |
No |
CURRENT_TIMESTAMP |
| created_by |
TEXT |
No |
No |
'UNKNOWN' |
| updated_at |
TIMESTAMPTZ |
No |
No |
|
| updated_by |
TEXT |
No |
No |
|
| deleted_at |
TIMESTAMPTZ |
No |
No |
|
| deleted_by |
TEXT |
No |
No |
|
| activity_log |
TEXT |
No |
No |
|
Foreign Keys
| Column Name |
Foreign Key |
| sex_id |
sex_id references sex_type.sex_type_id |
| gender_id |
gender_id references gender_type.gender_type_id |
| person_type_id |
person_type_id references person_type.person_type_id |
| party_id |
party_id references party.party_id |
Indexes
| Column Name |
Index Name |
| person_id |
sqlite_autoindex_person_1 |
SQL DDL
CREATE TABLE "person" (
"person_id" ULID PRIMARY KEY NOT NULL,
"party_id" VARCHAR NOT NULL,
"person_type_id" ULID NOT NULL,
"person_first_name" TEXT NOT NULL,
"person_middle_name" TEXT,
"person_last_name" TEXT NOT NULL,
"previous_name" TEXT,
"honorific_prefix" TEXT,
"honorific_suffix" TEXT,
"gender_id" ULID NOT NULL,
"sex_id" ULID NOT NULL,
"elaboration" TEXT CHECK(json_valid(elaboration) OR elaboration IS NULL),
"created_at" TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
"created_by" TEXT DEFAULT 'UNKNOWN',
"updated_at" TIMESTAMPTZ,
"updated_by" TEXT,
"deleted_at" TIMESTAMPTZ,
"deleted_by" TEXT,
"activity_log" TEXT,
FOREIGN KEY("party_id") REFERENCES "party"("party_id"),
FOREIGN KEY("person_type_id") REFERENCES "person_type"("person_type_id"),
FOREIGN KEY("gender_id") REFERENCES "gender_type"("gender_type_id"),
FOREIGN KEY("sex_id") REFERENCES "sex_type"("sex_type_id")
)