@everystack/model 0.3.3 → 0.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/drizzle.ts +9 -0
- package/src/field.ts +10 -1
package/package.json
CHANGED
package/src/drizzle.ts
CHANGED
|
@@ -22,7 +22,10 @@ import {
|
|
|
22
22
|
uuid,
|
|
23
23
|
integer,
|
|
24
24
|
bigint,
|
|
25
|
+
serial,
|
|
25
26
|
bigserial,
|
|
27
|
+
real,
|
|
28
|
+
doublePrecision,
|
|
26
29
|
boolean,
|
|
27
30
|
timestamp,
|
|
28
31
|
date,
|
|
@@ -74,8 +77,14 @@ function baseColumn(columnName: string, spec: FieldSpec): PgColumnBuilderBase {
|
|
|
74
77
|
return integer(columnName);
|
|
75
78
|
case 'bigint':
|
|
76
79
|
return bigint(columnName, { mode: 'number' });
|
|
80
|
+
case 'serial':
|
|
81
|
+
return serial(columnName);
|
|
77
82
|
case 'bigserial':
|
|
78
83
|
return bigserial(columnName, { mode: 'number' });
|
|
84
|
+
case 'real':
|
|
85
|
+
return real(columnName);
|
|
86
|
+
case 'doublePrecision':
|
|
87
|
+
return doublePrecision(columnName);
|
|
79
88
|
case 'boolean':
|
|
80
89
|
return boolean(columnName);
|
|
81
90
|
case 'timestamptz':
|
package/src/field.ts
CHANGED
|
@@ -15,8 +15,11 @@ export type FieldType =
|
|
|
15
15
|
| 'text'
|
|
16
16
|
| 'uuid'
|
|
17
17
|
| 'bigint'
|
|
18
|
+
| 'serial'
|
|
18
19
|
| 'bigserial'
|
|
19
20
|
| 'integer'
|
|
21
|
+
| 'real'
|
|
22
|
+
| 'doublePrecision'
|
|
20
23
|
| 'boolean'
|
|
21
24
|
| 'timestamptz'
|
|
22
25
|
| 'timestamp'
|
|
@@ -186,8 +189,14 @@ export const field = {
|
|
|
186
189
|
text: (): FieldBuilder => new FieldBuilder('text'),
|
|
187
190
|
uuid: (): FieldBuilder => new FieldBuilder('uuid'),
|
|
188
191
|
bigint: (): FieldBuilder => new FieldBuilder('bigint'),
|
|
189
|
-
|
|
192
|
+
// A serial column is NOT NULL by Postgres definition, so the builder starts that way.
|
|
193
|
+
serial: (): FieldBuilder => new FieldBuilder('serial').notNull(),
|
|
194
|
+
bigserial: (): FieldBuilder => new FieldBuilder('bigserial').notNull(),
|
|
190
195
|
integer: (): FieldBuilder => new FieldBuilder('integer'),
|
|
196
|
+
/** `real` — single-precision float (float4). */
|
|
197
|
+
real: (): FieldBuilder => new FieldBuilder('real'),
|
|
198
|
+
/** `double precision` — double-precision float (float8). */
|
|
199
|
+
doublePrecision: (): FieldBuilder => new FieldBuilder('doublePrecision'),
|
|
191
200
|
boolean: (): FieldBuilder => new FieldBuilder('boolean'),
|
|
192
201
|
timestamptz: (): FieldBuilder => new FieldBuilder('timestamptz'),
|
|
193
202
|
timestamp: (): FieldBuilder => new FieldBuilder('timestamp'),
|