νμ λ³ν κ°μ
νλ νμ
Entity Prop β TypeScript Type μλ λ³ν λ° νμ
μμ μ±
Nullable μ§μ
nullable: true β T | null μ νμ null μ²λ¦¬
Array νμ
type[] β T[] λ°°μ΄ νμ
μλ μμ±
Relation νμ
BelongsToOne β number (FK) κ΄κ³ νλ νμ
λ³ν
κΈ°λ³Έ νμ λ³ν
Entityμ κ° νλ νμ μ΄ TypeScript νμ μΌλ‘ μ΄λ»κ² λ³νλλμ§ λ³΄μ¬μ€λλ€.μ«μ νμ
| Entity Type | TypeScript Type | μ€λͺ |
|---|---|---|
integer | number | 32bit μ μ |
integer[] | number[] | μ μ λ°°μ΄ |
bigInteger | bigint | 64bit μ μ (ν° μ«μ) |
bigInteger[] | bigint[] | ν° μ μ λ°°μ΄ |
bigInteger vs integer: IDλ μΉ΄μ΄νΈλ
integerλ‘ μΆ©λΆνμ§λ§,
νμμ€ν¬ν(milliseconds)λ λ§€μ° ν° μ«μλ bigIntegerλ₯Ό μ¬μ©νμΈμ.λ¬Έμμ΄ νμ
| Entity Type | TypeScript Type | μ€λͺ |
|---|---|---|
string | string | λ¬Έμμ΄ |
string[] | string[] | λ¬Έμμ΄ λ°°μ΄ |
λΆλ¦° νμ
λ μ§ νμ
UUID νμ
TypeScriptμλ UUID μ μ© νμ
μ΄ μμΌλ―λ‘
stringμΌλ‘ ννλ©λλ€. Zod
validationμμ .uuid()λ‘ νμμ κ²μ¦ν©λλ€.μ«μ μ λ°λ νμ
PostgreSQLμ κ³ μ λ° μ«μλ₯Ό λ€λ£¨λ λ κ°μ§ νμ μ λλ€.number vs numeric
| Entity Type | TypeScript Type | PostgreSQL Type | μ©λ |
|---|---|---|---|
number | number | real, double precision, numeric | μΌλ° κ³μ° (λΆλμμμ ) |
numeric | string | numeric | κΈμ΅ κ³μ° (κ³ μ μμμ ) |
Enum νμ
Entityμ Enumμ΄ TypeScript Union νμ μΌλ‘ λ³νλ©λλ€.- μλμμ± μ§μ
- νμ μμ μ± λ³΄μ₯
- μλͺ»λ κ° μ»΄νμΌ μλ¬
JSON νμ
볡μ‘ν κ°μ²΄ ꡬ쑰λ₯Ό JSONμΌλ‘ μ μ₯ν λ μ¬μ©ν©λλ€.json νμ
μ idλ‘ μ§μ ν Zod μ€ν€λ§λ₯Ό μ°Έμ‘°ν©λλ€. μ΄ μ€ν€λ§λ {entity} .types.tsμμ μ§μ μ μν΄μΌ ν©λλ€.Virtual νμ
λ°μ΄ν°λ² μ΄μ€μ μ μ₯λμ§ μλ κ³μ° νλμ λλ€.Vector νμ
λ²‘ν° κ²μ (pgvector)μ μν νμ μ λλ€.dimensionsλ TypeScript νμ
μ μν₯μ μ£Όμ§ μμ§λ§, PostgreSQL μ€ν€λ§μ Zod validationμμ μ¬μ©λ©λλ€.Relation νμ
Entity κ° κ΄κ³λ₯Ό λνλ΄λ νλμ λλ€.BelongsToOne (λ€λμΌ)
OneToOne (μΌλμΌ)
HasMany / ManyToMany
HasManyμ ManyToManyλ base νμ
μ ν¬ν¨λμ§ μμ΅λλ€. Subsetμ μ μνλ©΄
ν΄λΉ νμ
μ΄ Subset νμ
μ ν¬ν¨λ©λλ€.Nullable μ²λ¦¬
nullable: trueλ TypeScript Union νμ
μΌλ‘ λ³νλ©λλ€.
νμ λ³ν μ 체 λ§€ν
λͺ¨λ Entity Prop νμ κ³Ό TypeScript νμ μ λ§€ννμ λλ€.| Entity Type | TypeScript Type | λΉκ³ |
|---|---|---|
integer | number | 32bit μ μ |
integer[] | number[] | μ μ λ°°μ΄ |
bigInteger | bigint | 64bit μ μ |
bigInteger[] | bigint[] | ν° μ μ λ°°μ΄ |
string | string | λ¬Έμμ΄ |
string[] | string[] | λ¬Έμμ΄ λ°°μ΄ |
number | number | λΆλμμμ |
number[] | number[] | λΆλμμμ λ°°μ΄ |
numeric | string | κ³ μ μμμ (λ¬Έμμ΄λ‘ μ λ°λ 보쑴) |
numeric[] | string[] | κ³ μ μμμ λ°°μ΄ |
boolean | boolean | λΆλ¦° |
boolean[] | boolean[] | λΆλ¦° λ°°μ΄ |
date | Date | λ μ§ (JSONμμλ string) |
date[] | Date[] | λ μ§ λ°°μ΄ |
uuid | string | UUID λ¬Έμμ΄ |
uuid[] | string[] | UUID λ°°μ΄ |
enum | EnumType | Union νμ |
enum[] | EnumType[] | Union νμ λ°°μ΄ |
json | CustomType | 컀μ€ν κ°μ²΄ νμ |
virtual | CustomType | κ³μ° νλ |
vector | number[] | λ²‘ν° (pgvector) |
vector[] | number[][] | λ²‘ν° λ°°μ΄ |
tsvector | string | μ λ¬Έ κ²μ (PostgreSQL) |
BelongsToOne | number | μΈλ ν€ (FK) |
OneToOne (hasJoinColumn) | number | μΈλ ν€ (FK) |
HasMany | - | Base νμ λ―Έν¬ν¨ |
ManyToMany | - | Base νμ λ―Έν¬ν¨ |