1{
2 "from": null,
3 "to": "sha256:ae5cf43e83687e08354eb6afa512ad5834d96164612280b204c5b7103b01e8e1",
4 "fromContract": null,
5 "toContract": {
6 "schemaVersion": "1",
7 "targetFamily": "sql",
8 "target": "postgres",
9 "profileHash": "sha256:1a8dbe044289f30a1de958fe800cc5a8378b285d2e126a8c44b58864bac2c18e",
10 "roots": {
11 "post": "Post",
12 "user": "User"
13 },
14 "models": {
15 "Post": {
16 "fields": {
17 "createdAt": {
18 "nullable": false,
19 "type": {
20 "codecId": "pg/timestamptz@1",
21 "kind": "scalar"
22 }
23 },
24 "excerpt": {
25 "nullable": false,
26 "type": {
27 "codecId": "pg/text@1",
28 "kind": "scalar"
29 }
30 },
31 "id": {
32 "nullable": false,
33 "type": {
34 "codecId": "sql/char@1",
35 "kind": "scalar",
36 "typeParams": {
37 "length": 36
38 }
39 }
40 },
41 "title": {
42 "nullable": false,
43 "type": {
44 "codecId": "pg/text@1",
45 "kind": "scalar"
46 }
47 },
48 "userId": {
49 "nullable": false,
50 "type": {
51 "codecId": "pg/text@1",
52 "kind": "scalar"
53 }
54 }
55 },
56 "relations": {
57 "user": {
58 "cardinality": "N:1",
59 "on": {
60 "localFields": ["userId"],
61 "targetFields": ["id"]
62 },
63 "to": "User"
64 }
65 },
66 "storage": {
67 "fields": {
68 "createdAt": {
69 "column": "createdAt"
70 },
71 "excerpt": {
72 "column": "excerpt"
73 },
74 "id": {
75 "column": "id"
76 },
77 "title": {
78 "column": "title"
79 },
80 "userId": {
81 "column": "userId"
82 }
83 },
84 "table": "post"
85 }
86 },
87 "User": {
88 "fields": {
89 "createdAt": {
90 "nullable": false,
91 "type": {
92 "codecId": "pg/timestamptz@1",
93 "kind": "scalar"
94 }
95 },
96 "email": {
97 "nullable": false,
98 "type": {
99 "codecId": "pg/text@1",
100 "kind": "scalar"
101 }
102 },
103 "id": {
104 "nullable": false,
105 "type": {
106 "codecId": "sql/char@1",
107 "kind": "scalar",
108 "typeParams": {
109 "length": 36
110 }
111 }
112 },
113 "name": {
114 "nullable": false,
115 "type": {
116 "codecId": "pg/text@1",
117 "kind": "scalar"
118 }
119 }
120 },
121 "relations": {
122 "posts": {
123 "cardinality": "1:N",
124 "on": {
125 "localFields": ["id"],
126 "targetFields": ["userId"]
127 },
128 "to": "Post"
129 }
130 },
131 "storage": {
132 "fields": {
133 "createdAt": {
134 "column": "createdAt"
135 },
136 "email": {
137 "column": "email"
138 },
139 "id": {
140 "column": "id"
141 },
142 "name": {
143 "column": "name"
144 }
145 },
146 "table": "user"
147 }
148 }
149 },
150 "storage": {
151 "storageHash": "sha256:ae5cf43e83687e08354eb6afa512ad5834d96164612280b204c5b7103b01e8e1",
152 "tables": {
153 "post": {
154 "columns": {
155 "createdAt": {
156 "codecId": "pg/timestamptz@1",
157 "default": {
158 "expression": "now()",
159 "kind": "function"
160 },
161 "nativeType": "timestamptz",
162 "nullable": false
163 },
164 "excerpt": {
165 "codecId": "pg/text@1",
166 "nativeType": "text",
167 "nullable": false
168 },
169 "id": {
170 "codecId": "sql/char@1",
171 "nativeType": "character",
172 "nullable": false,
173 "typeParams": {
174 "length": 36
175 }
176 },
177 "title": {
178 "codecId": "pg/text@1",
179 "nativeType": "text",
180 "nullable": false
181 },
182 "userId": {
183 "codecId": "pg/text@1",
184 "nativeType": "text",
185 "nullable": false
186 }
187 },
188 "foreignKeys": [
189 {
190 "columns": ["userId"],
191 "constraint": true,
192 "index": true,
193 "references": {
194 "columns": ["id"],
195 "table": "user"
196 }
197 }
198 ],
199 "indexes": [],
200 "primaryKey": {
201 "columns": ["id"]
202 },
203 "uniques": []
204 },
205 "user": {
206 "columns": {
207 "createdAt": {
208 "codecId": "pg/timestamptz@1",
209 "default": {
210 "expression": "now()",
211 "kind": "function"
212 },
213 "nativeType": "timestamptz",
214 "nullable": false
215 },
216 "email": {
217 "codecId": "pg/text@1",
218 "nativeType": "text",
219 "nullable": false
220 },
221 "id": {
222 "codecId": "sql/char@1",
223 "nativeType": "character",
224 "nullable": false,
225 "typeParams": {
226 "length": 36
227 }
228 },
229 "name": {
230 "codecId": "pg/text@1",
231 "nativeType": "text",
232 "nullable": false
233 }
234 },
235 "foreignKeys": [],
236 "indexes": [],
237 "primaryKey": {
238 "columns": ["id"]
239 },
240 "uniques": []
241 }
242 }
243 },
244 "execution": {
245 "executionHash": "sha256:8c5eef43d2153fd832b8288ed2d8ffc9f5afb62908f8b4b7e6a4b7018444c41f",
246 "mutations": {
247 "defaults": [
248 {
249 "onCreate": {
250 "id": "uuidv4",
251 "kind": "generator"
252 },
253 "ref": {
254 "column": "id",
255 "table": "post"
256 }
257 },
258 {
259 "onCreate": {
260 "id": "uuidv4",
261 "kind": "generator"
262 },
263 "ref": {
264 "column": "id",
265 "table": "user"
266 }
267 }
268 ]
269 }
270 },
271 "capabilities": {
272 "postgres": {
273 "jsonAgg": true,
274 "lateral": true,
275 "limit": true,
276 "orderBy": true,
277 "returning": true
278 },
279 "sql": {
280 "defaultInInsert": true,
281 "enums": true,
282 "returning": true
283 }
284 },
285 "extensionPacks": {},
286 "meta": {},
287 "_generated": {
288 "warning": "⚠️ GENERATED FILE - DO NOT EDIT",
289 "message": "This file is automatically generated by \"prisma-next contract emit\".",
290 "regenerate": "To regenerate, run: prisma-next contract emit"
291 }
292 },
293 "hints": {
294 "used": [],
295 "applied": [],
296 "plannerVersion": "2.0.0"
297 },
298 "labels": [],
299 "createdAt": "2026-07-10T15:51:46.192Z",
300 "providedInvariants": [],
301 "migrationHash": "sha256:c317a790d9d715b1145a8a123be7bb6ad43fcbbeeef39432861d544cdc5aae37"
302}