generated from samhuk/ts-npm-package-template
-
-
Notifications
You must be signed in to change notification settings - Fork 0
Data Types
samhuk edited this page Oct 3, 2022
·
5 revisions
This section describes the available data types and sub-types of ts-pg-orm, and provides some examples of each.
There are 5 available data types: Number, String, Boolean, Epoch, JSON. Each of these have their own sub-types.
id: { type: DataType.NUM, subType: NumSubType.SERIAL }
creatorUserId: { type: DataType.NUM, subType: NumSubType.INT },
popularity: { type: DataType.NUM, subType: NumSubType.REAL },
enum TShirtSizes { S, M, L }
size: { type: DataType.NUM, subType: NumSubType.INT_ENUM, default: TShirtSizes.M },
passwordHash: { type: DataType.STR, subType: StrSubType.FIXED_LENGTH, len: 64 },
name: { type: DataType.STR, subType: StrSubType.VAR_LENGTH, maxLen: 50 },
uuid: { type: DataType.STR, subType: StrSubType.UUID_V4, autoGenerate: true },
enum TShirtSizes { S = 'small', M = 'medium', L = 'large' }
size: { type: DataType.STR, subType: StrSubType.ENUM, default: TShirtSizes.M },
verified: { type: DataType.BOOL },
Typical "date created" field:
dateCreated: { type: DataType.EPOCH, subType: EpochSubType.DATE_TIME_WITH_TIMEZONE, defaultToCurrentEpoch: true },
Typical "date deleted" field:
dateDeleted: { type: DataType.EPOCH, subType: EpochSubType.DATE_TIME_WITH_TIMEZONE, allowNull: true, excludeFromCreateOptions: true },
recipeSteps: { type: DataType.JSON, subType: JsonSubType.ARRAY, default: null as ({ durationMins: number, body: string })[] },
prefs: { type: DataType.JSON, subType: JsonSubType.OBJECT, default: null as ({ darkMode: boolean })[] },