Working with Native Database Types

1. Using @db.VarChar

AspectDetail
Syntaxname String @db.VarChar(120)
LengthEnforced by DB
MySQL index limitCombine with length: in @@index

2. Using @db.Text

AspectDetail
PGUnlimited text
MySQL64 KB; use @db.LongText for larger
SQL Server@db.NVarChar(Max)

3. Using @db.Uuid

AspectDetail
PGNative uuid type, 16 bytes
Combine@default(uuid(7)) @db.Uuid
MySQLUse @db.VarChar(36) or @db.Binary(16)

4. Using @db.Timestamp

VariantDetail
@db.Timestamp(n)Precision in fractional seconds (0–6)
@db.Timestamptz(n)With timezone (PG)
JSAlways Date

5. Using @db.Date

AspectDetail
StorageYYYY-MM-DD (no time)
JSReturned as Date at 00:00 UTC

6. Using @db.Time

AspectDetail
StorageHH:MM:SS[.fff]
JSDate with 1970-01-01 base

7. Using @db.Money

AspectDetail
PGLocale-sensitive monetary type
RecommendationPrefer Decimal @db.Decimal(12,2) instead

8. Using @db.Xml

AspectDetail
SupportPG, SQL Server
JS typestring

9. Using @db.Inet

AspectDetail
SupportPostgreSQL only
StorageIPv4/IPv6 address with optional subnet
JSstring

10. Using Database-Specific Types

TypeDBNotes
@db.CitextPGCase-insensitive text
@db.JsonBPGBinary JSON
@db.Bit(n)PG/MySQLBit strings
@db.ObjectIdMongoBSON ObjectId
@db.OidPGLarge object reference