@@ -39,6 +39,7 @@ enum ReferentialAction {
39
39
enum AttributeTargetField {
40
40
StringField
41
41
IntField
42
+ BigIntField
42
43
FloatField
43
44
DecimalField
44
45
BooleanField
@@ -51,43 +52,51 @@ enum AttributeTargetField {
51
52
/*
52
53
* Reads value from an environment variable.
53
54
*/
54
- function env(name: String ): String {}
55
+ function env(name: String ): String {
56
+ }
55
57
56
58
/*
57
59
* Gets the current login user.
58
60
*/
59
- function auth(): Any {}
61
+ function auth(): Any {
62
+ }
60
63
61
64
/*
62
65
* Gets current date-time (as DateTime type).
63
66
*/
64
- function now(): DateTime {}
67
+ function now(): DateTime {
68
+ }
65
69
66
70
/*
67
71
* Generates a globally unique identifier based on the UUID specs.
68
72
*/
69
- function uuid(): String {}
73
+ function uuid(): String {
74
+ }
70
75
71
76
/*
72
77
* Generates a globally unique identifier based on the CUID spec.
73
78
*/
74
- function cuid(): String {}
79
+ function cuid(): String {
80
+ }
75
81
76
82
/*
77
83
* Creates a sequence of integers in the underlying database and assign the incremented
78
84
* values to the ID values of the created records based on the sequence.
79
85
*/
80
- function autoincrement(): Int {}
86
+ function autoincrement(): Int {
87
+ }
81
88
82
89
/*
83
90
* Represents default values that cannot be expressed in the Prisma schema (such as random()).
84
91
*/
85
- function dbgenerated(expr: String ): Any {}
92
+ function dbgenerated(expr: String ): Any {
93
+ }
86
94
87
95
/* *
88
96
* Gets entities value before an update. Only valid when used in a "update" policy rule.
89
97
*/
90
- function future(): Any {}
98
+ function future(): Any {
99
+ }
91
100
92
101
/* *
93
102
* Marks an attribute to be only applicable to certain field types.
@@ -114,6 +123,11 @@ attribute @default(_ value: ContextType) @@@prisma
114
123
*/
115
124
attribute @unique(map: String ?) @@@prisma
116
125
126
+ /*
127
+ * Defines a multi-field ID (composite ID) on the model.
128
+ */
129
+ attribute @@id(_ fields: FieldReference [], name: String ?, map: String ?) @@@prisma
130
+
117
131
/*
118
132
* Defines a compound unique constraint for the specified fields.
119
133
*/
@@ -144,6 +158,94 @@ attribute @@map(_ name: String) @@@prisma
144
158
*/
145
159
attribute @updatedAt() @@@targetField([DateTimeField]) @@@prisma
146
160
161
+ // String type modifiers
162
+
163
+ attribute @db.String (_ x: Int ?) @@@targetField([StringField]) @@@prisma
164
+ attribute @db.Text() @@@targetField([StringField]) @@@prisma
165
+ attribute @db.NText() @@@targetField([StringField]) @@@prisma
166
+ attribute @db.Char(_ x: Int ) @@@targetField([StringField]) @@@prisma
167
+ attribute @db.NChar(_ x: Int ) @@@targetField([StringField]) @@@prisma
168
+ attribute @db.VarChar(_ x: Int ) @@@targetField([StringField]) @@@prisma
169
+ attribute @db.NVarChar(_ x: Int ) @@@targetField([StringField]) @@@prisma
170
+ attribute @db.CatalogSingleChar() @@@targetField([StringField]) @@@prisma
171
+ attribute @db.TinyText() @@@targetField([StringField]) @@@prisma
172
+ attribute @db.MediumText() @@@targetField([StringField]) @@@prisma
173
+ attribute @db.LongText() @@@targetField([StringField]) @@@prisma
174
+ attribute @db.Bit(_ x: Int ?) @@@targetField([StringField, BooleanField, BytesField]) @@@prisma
175
+ attribute @db.VarBit(_ x: Int ?) @@@targetField([StringField]) @@@prisma
176
+ attribute @db.Uuid() @@@targetField([StringField]) @@@prisma
177
+ attribute @db.UniqueIdentifier() @@@targetField([StringField]) @@@prisma
178
+ attribute @db.Xml() @@@targetField([StringField]) @@@prisma
179
+ attribute @db.Inet() @@@targetField([StringField]) @@@prisma
180
+ attribute @db.Citext() @@@targetField([StringField]) @@@prisma
181
+
182
+ // Boolean type modifiers
183
+
184
+ attribute @db.Boolean () @@@targetField([BooleanField]) @@@prisma
185
+ attribute @db.TinyInt(_ x: Int ?) @@@targetField([BooleanField]) @@@prisma
186
+ attribute @db.Bool() @@@targetField([BooleanField]) @@@prisma
187
+
188
+ // Int type modifiers
189
+
190
+ attribute @db.Int () @@@targetField([IntField]) @@@prisma
191
+ attribute @db.Integer() @@@targetField([IntField]) @@@prisma
192
+ attribute @db.SmallInt() @@@targetField([IntField]) @@@prisma
193
+ attribute @db.Oid() @@@targetField([IntField]) @@@prisma
194
+ attribute @db.UnsignedInt() @@@targetField([IntField]) @@@prisma
195
+ attribute @db.UnsignedSmallInt() @@@targetField([IntField]) @@@prisma
196
+ attribute @db.MediumInt() @@@targetField([IntField]) @@@prisma
197
+ attribute @db.UnsignedMediumInt() @@@targetField([IntField]) @@@prisma
198
+ attribute @db.UnsignedTinyInt() @@@targetField([IntField]) @@@prisma
199
+ attribute @db.Year() @@@targetField([IntField]) @@@prisma
200
+ attribute @db.Int4() @@@targetField([IntField]) @@@prisma
201
+ attribute @db.Int2() @@@targetField([IntField]) @@@prisma
202
+
203
+ // BigInt type modifiers
204
+
205
+ attribute @db.BigInt () @@@targetField([BigIntField]) @@@prisma
206
+ attribute @db.UnsignedBigInt() @@@targetField([BigIntField]) @@@prisma
207
+ attribute @db.Int8() @@@targetField([BigIntField]) @@@prisma
208
+
209
+ // Float/Decimal type modifiers
210
+ attribute @db.DoublePrecision() @@@targetField([FloatField, DecimalField]) @@@prisma
211
+ attribute @db.Real() @@@targetField([FloatField, DecimalField]) @@@prisma
212
+ attribute @db.Float () @@@targetField([FloatField, DecimalField]) @@@prisma
213
+ attribute @db.Decimal () @@@targetField([FloatField, DecimalField]) @@@prisma
214
+ attribute @db.Double() @@@targetField([FloatField, DecimalField]) @@@prisma
215
+ attribute @db.Money() @@@targetField([FloatField, DecimalField]) @@@prisma
216
+ attribute @db.SmallMoney() @@@targetField([FloatField, DecimalField]) @@@prisma
217
+ attribute @db.Float8() @@@targetField([FloatField, DecimalField]) @@@prisma
218
+ attribute @db.Float4() @@@targetField([FloatField, DecimalField]) @@@prisma
219
+
220
+ // DateTime type modifiers
221
+
222
+ attribute @db.DateTime (x: Int ?) @@@targetField([DateTimeField]) @@@prisma
223
+ attribute @db.DateTime2() @@@targetField([DateTimeField]) @@@prisma
224
+ attribute @db.SmallDateTime() @@@targetField([DateTimeField]) @@@prisma
225
+ attribute @db.DateTimeOffset() @@@targetField([DateTimeField]) @@@prisma
226
+ attribute @db.Timestamp(_ x: Int ?) @@@targetField([DateTimeField]) @@@prisma
227
+ attribute @db.Timestamptz(_ x: Int ?) @@@targetField([DateTimeField]) @@@prisma
228
+ attribute @db.Date() @@@targetField([DateTimeField]) @@@prisma
229
+ attribute @db.Time(_ x: Int ?) @@@targetField([DateTimeField]) @@@prisma
230
+ attribute @db.Timetz(_ x: Int ?) @@@targetField([DateTimeField]) @@@prisma
231
+
232
+ // Json type modifiers
233
+
234
+ attribute @db.Json () @@@targetField([JsonField]) @@@prisma
235
+ attribute @db.JsonB() @@@targetField([JsonField]) @@@prisma
236
+
237
+ // Bytes type modifiers
238
+
239
+ attribute @db.Bytes () @@@targetField([BytesField]) @@@prisma
240
+ attribute @db.ByteA() @@@targetField([BytesField]) @@@prisma
241
+ attribute @db.LongBlob() @@@targetField([BytesField]) @@@prisma
242
+ attribute @db.Binary() @@@targetField([BytesField]) @@@prisma
243
+ attribute @db.VarBinary() @@@targetField([BytesField]) @@@prisma
244
+ attribute @db.TinyBlob() @@@targetField([BytesField]) @@@prisma
245
+ attribute @db.Blob() @@@targetField([BytesField]) @@@prisma
246
+ attribute @db.MediumBlob() @@@targetField([BytesField]) @@@prisma
247
+ attribute @db.Image() @@@targetField([BytesField]) @@@prisma
248
+
147
249
/*
148
250
* Defines an access policy that allows a set of operations when the given condition is true.
149
251
*/
0 commit comments