@tangen/db 0.0.0-stage → 0.1.55

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.
Files changed (127) hide show
  1. package/README.md +73 -2
  2. package/drizzle/0000_flimsy_shotgun.sql +339 -0
  3. package/drizzle/0001_app_data.sql +11 -0
  4. package/drizzle/0002_add_indexes.sql +36 -0
  5. package/drizzle/0003_extension_data_rename.sql +3 -0
  6. package/drizzle/0004_extension_data_published_globals.sql +12 -0
  7. package/drizzle/0005_auth.sql +51 -0
  8. package/drizzle/0006_auth_identities.sql +13 -0
  9. package/drizzle/0007_ai.sql +18 -0
  10. package/drizzle/0008_ai_chat_threads.sql +5 -0
  11. package/drizzle/0009_forms_source_slug.sql +11 -0
  12. package/drizzle/0010_rbac_roles_status.sql +14 -0
  13. package/drizzle/0011_jobs_v2.sql +67 -0
  14. package/drizzle/0012_search_platform.sql +36 -0
  15. package/drizzle/0013_search_synonym_label.sql +2 -0
  16. package/drizzle/0014_object_types_disabled.sql +2 -0
  17. package/drizzle/0015_playground_collections.sql +25 -0
  18. package/drizzle/0016_catchup_activity_promotion.sql +36 -0
  19. package/drizzle/0017_fields_disabled.sql +3 -0
  20. package/drizzle/0018_object_types_plural.sql +1 -0
  21. package/drizzle/0019_member_profile.sql +2 -0
  22. package/drizzle/0020_paused_jobs.sql +7 -0
  23. package/drizzle/0021_form_submission_notes.sql +2 -0
  24. package/drizzle/0022_paused_jobs_env_reason.sql +4 -0
  25. package/drizzle/0023_scale_indexes.sql +3 -0
  26. package/drizzle/0024_migration_runs.sql +24 -0
  27. package/drizzle/0025_porter_transfer.sql +30 -0
  28. package/drizzle/0026_cron_timezone.sql +1 -0
  29. package/drizzle/0027_rate_limit_counters.sql +6 -0
  30. package/drizzle/0028_realtime_events.sql +10 -0
  31. package/drizzle/0030_delivery_artifacts.sql +10 -0
  32. package/drizzle/0031_realtime_presence.sql +8 -0
  33. package/drizzle/0032_schema_pushes.sql +15 -0
  34. package/drizzle/0033_studio_design_capability.sql +37 -0
  35. package/drizzle/0034_object_types_provided_by.sql +12 -0
  36. package/drizzle/0035_custom_table_owners.sql +24 -0
  37. package/drizzle/0036_revision_version_unique.sql +42 -0
  38. package/drizzle/0037_job_queue_dedupe.sql +20 -0
  39. package/drizzle/0038_search_documents.sql +87 -0
  40. package/drizzle/0039_job_prune_indexes.sql +25 -0
  41. package/drizzle/0040_extension_data_object_idx.sql +10 -0
  42. package/drizzle/0041_knowledge.sql +79 -0
  43. package/drizzle/0042_schema_pushes_checksum.sql +7 -0
  44. package/drizzle/0043_guard_adoption.sql +12 -0
  45. package/drizzle/0044_retention_indexes.sql +7 -0
  46. package/drizzle/0045_extension_install_per_env.sql +40 -0
  47. package/drizzle/0046_extension_migrations.sql +18 -0
  48. package/drizzle/0047_environment_role.sql +25 -0
  49. package/drizzle/0048_environment_role_adoption.sql +30 -0
  50. package/drizzle/0049_release_lifecycle.sql +55 -0
  51. package/drizzle/0050_member_env_membership.sql +21 -0
  52. package/drizzle/0051_remove_environments.sql +350 -0
  53. package/drizzle/0052_release_actor_columns.sql +9 -0
  54. package/drizzle/0053_kernel_event_record.sql +26 -0
  55. package/drizzle/0054_kernel_run_identity.sql +13 -0
  56. package/drizzle/0055_kernel_identities.sql +19 -0
  57. package/drizzle/0056_forms_leave_core.sql +7 -0
  58. package/drizzle/0057_auth_leave_core.sql +8 -0
  59. package/drizzle/0058_member_grants.sql +11 -0
  60. package/drizzle/0059_extension_granted_grants.sql +7 -0
  61. package/drizzle/0060_connections.sql +21 -0
  62. package/drizzle/meta/0000_snapshot.json +1692 -0
  63. package/drizzle/meta/0002_snapshot.json +1935 -0
  64. package/drizzle/meta/0003_snapshot.json +1935 -0
  65. package/drizzle/meta/_journal.json +426 -0
  66. package/package.json +85 -4
  67. package/src/cache-keys.ts +43 -0
  68. package/src/client.ts +136 -0
  69. package/src/content-ddl.ts +70 -0
  70. package/src/content-tables.ts +110 -0
  71. package/src/custom-tables-loader.ts +65 -0
  72. package/src/ensure-system-schema.ts +195 -0
  73. package/src/extension-install-state.ts +220 -0
  74. package/src/extension-migrations.ts +270 -0
  75. package/src/generated/content-tables.ts +271 -0
  76. package/src/generated/custom-tables.ts +18 -0
  77. package/src/index.ts +24 -0
  78. package/src/instrument.ts +139 -0
  79. package/src/knowledge-schema.ts +232 -0
  80. package/src/migrate.ts +67 -0
  81. package/src/prepare-policy.ts +118 -0
  82. package/src/reconcile.ts +115 -0
  83. package/src/schema/ai-chats.ts +36 -0
  84. package/src/schema/ai-settings.ts +24 -0
  85. package/src/schema/api-keys.ts +37 -0
  86. package/src/schema/audit-log.ts +54 -0
  87. package/src/schema/connections.ts +35 -0
  88. package/src/schema/custom-table-owners.ts +32 -0
  89. package/src/schema/delivery-artifacts.ts +33 -0
  90. package/src/schema/entity-tags.ts +33 -0
  91. package/src/schema/extension-data.ts +38 -0
  92. package/src/schema/extension-migrations.ts +42 -0
  93. package/src/schema/fields.ts +37 -0
  94. package/src/schema/globals.ts +35 -0
  95. package/src/schema/identities.ts +27 -0
  96. package/src/schema/index.ts +51 -0
  97. package/src/schema/jobs.ts +104 -0
  98. package/src/schema/knowledge.ts +85 -0
  99. package/src/schema/media.ts +52 -0
  100. package/src/schema/member-grants.ts +34 -0
  101. package/src/schema/members.ts +49 -0
  102. package/src/schema/migration-runs.ts +46 -0
  103. package/src/schema/object-types.ts +41 -0
  104. package/src/schema/objects.ts +38 -0
  105. package/src/schema/paused-jobs.ts +25 -0
  106. package/src/schema/playground.ts +43 -0
  107. package/src/schema/porter-transfer.ts +47 -0
  108. package/src/schema/realtime.ts +45 -0
  109. package/src/schema/releases.ts +95 -0
  110. package/src/schema/roles.ts +27 -0
  111. package/src/schema/saved-views.ts +33 -0
  112. package/src/schema/schema-pushes.ts +43 -0
  113. package/src/schema/search-documents.ts +47 -0
  114. package/src/schema/search-query-log.ts +24 -0
  115. package/src/schema/search-recommendations.ts +27 -0
  116. package/src/schema/search-synonyms.ts +23 -0
  117. package/src/schema/webhook-deliveries.ts +37 -0
  118. package/src/schema/webhooks.ts +36 -0
  119. package/src/schema/workspace-activity.ts +35 -0
  120. package/src/schema/workspace-domains.ts +24 -0
  121. package/src/schema/workspace-installed-apps.ts +48 -0
  122. package/src/schema/workspaces.ts +24 -0
  123. package/src/schema-kit.ts +64 -0
  124. package/src/sealed.ts +84 -0
  125. package/src/seed/skeleton.ts +77 -0
  126. package/src/sql/apply-gin-indexes.ts +31 -0
  127. package/src/sql/gin-indexes.sql +11 -0
@@ -0,0 +1,1935 @@
1
+ {
2
+ "id": "059283a8-8f64-4edb-b83a-4bc6e0be3c23",
3
+ "prevId": "d89d00ed-b658-4659-b5b0-4fd5f24cd4e9",
4
+ "version": "6",
5
+ "dialect": "postgresql",
6
+ "tables": {
7
+ "public.workspaces": {
8
+ "name": "workspaces",
9
+ "schema": "",
10
+ "columns": {
11
+ "id": {
12
+ "name": "id",
13
+ "type": "text",
14
+ "primaryKey": true,
15
+ "notNull": true
16
+ },
17
+ "name": {
18
+ "name": "name",
19
+ "type": "text",
20
+ "primaryKey": false,
21
+ "notNull": true
22
+ },
23
+ "slug": {
24
+ "name": "slug",
25
+ "type": "text",
26
+ "primaryKey": false,
27
+ "notNull": true
28
+ },
29
+ "created_at": {
30
+ "name": "created_at",
31
+ "type": "timestamp with time zone",
32
+ "primaryKey": false,
33
+ "notNull": true,
34
+ "default": "now()"
35
+ },
36
+ "deleted_at": {
37
+ "name": "deleted_at",
38
+ "type": "timestamp with time zone",
39
+ "primaryKey": false,
40
+ "notNull": false
41
+ }
42
+ },
43
+ "indexes": {},
44
+ "foreignKeys": {},
45
+ "compositePrimaryKeys": {},
46
+ "uniqueConstraints": {
47
+ "workspaces_slug_unique": {
48
+ "name": "workspaces_slug_unique",
49
+ "nullsNotDistinct": false,
50
+ "columns": [
51
+ "slug"
52
+ ]
53
+ }
54
+ }
55
+ },
56
+ "public.environments": {
57
+ "name": "environments",
58
+ "schema": "",
59
+ "columns": {
60
+ "id": {
61
+ "name": "id",
62
+ "type": "text",
63
+ "primaryKey": true,
64
+ "notNull": true
65
+ },
66
+ "workspace_id": {
67
+ "name": "workspace_id",
68
+ "type": "text",
69
+ "primaryKey": false,
70
+ "notNull": true
71
+ },
72
+ "slug": {
73
+ "name": "slug",
74
+ "type": "text",
75
+ "primaryKey": false,
76
+ "notNull": true
77
+ },
78
+ "label": {
79
+ "name": "label",
80
+ "type": "text",
81
+ "primaryKey": false,
82
+ "notNull": true
83
+ },
84
+ "created_at": {
85
+ "name": "created_at",
86
+ "type": "timestamp with time zone",
87
+ "primaryKey": false,
88
+ "notNull": true,
89
+ "default": "now()"
90
+ }
91
+ },
92
+ "indexes": {},
93
+ "foreignKeys": {
94
+ "environments_workspace_id_workspaces_id_fk": {
95
+ "name": "environments_workspace_id_workspaces_id_fk",
96
+ "tableFrom": "environments",
97
+ "tableTo": "workspaces",
98
+ "columnsFrom": [
99
+ "workspace_id"
100
+ ],
101
+ "columnsTo": [
102
+ "id"
103
+ ],
104
+ "onDelete": "no action",
105
+ "onUpdate": "no action"
106
+ }
107
+ },
108
+ "compositePrimaryKeys": {},
109
+ "uniqueConstraints": {
110
+ "environments_workspace_id_slug_unique": {
111
+ "name": "environments_workspace_id_slug_unique",
112
+ "nullsNotDistinct": false,
113
+ "columns": [
114
+ "workspace_id",
115
+ "slug"
116
+ ]
117
+ }
118
+ }
119
+ },
120
+ "public.object_types": {
121
+ "name": "object_types",
122
+ "schema": "",
123
+ "columns": {
124
+ "id": {
125
+ "name": "id",
126
+ "type": "text",
127
+ "primaryKey": true,
128
+ "notNull": true
129
+ },
130
+ "env_id": {
131
+ "name": "env_id",
132
+ "type": "text",
133
+ "primaryKey": false,
134
+ "notNull": true
135
+ },
136
+ "name": {
137
+ "name": "name",
138
+ "type": "text",
139
+ "primaryKey": false,
140
+ "notNull": true
141
+ },
142
+ "label": {
143
+ "name": "label",
144
+ "type": "text",
145
+ "primaryKey": false,
146
+ "notNull": true
147
+ },
148
+ "singleton": {
149
+ "name": "singleton",
150
+ "type": "boolean",
151
+ "primaryKey": false,
152
+ "notNull": true,
153
+ "default": false
154
+ },
155
+ "previous_names": {
156
+ "name": "previous_names",
157
+ "type": "text[]",
158
+ "primaryKey": false,
159
+ "notNull": true,
160
+ "default": "'{}'"
161
+ },
162
+ "admin_config": {
163
+ "name": "admin_config",
164
+ "type": "jsonb",
165
+ "primaryKey": false,
166
+ "notNull": true,
167
+ "default": "'{}'"
168
+ },
169
+ "schema_version": {
170
+ "name": "schema_version",
171
+ "type": "integer",
172
+ "primaryKey": false,
173
+ "notNull": true,
174
+ "default": 1
175
+ },
176
+ "created_at": {
177
+ "name": "created_at",
178
+ "type": "timestamp with time zone",
179
+ "primaryKey": false,
180
+ "notNull": true,
181
+ "default": "now()"
182
+ },
183
+ "updated_at": {
184
+ "name": "updated_at",
185
+ "type": "timestamp with time zone",
186
+ "primaryKey": false,
187
+ "notNull": true,
188
+ "default": "now()"
189
+ }
190
+ },
191
+ "indexes": {},
192
+ "foreignKeys": {},
193
+ "compositePrimaryKeys": {},
194
+ "uniqueConstraints": {
195
+ "object_types_env_id_name_unique": {
196
+ "name": "object_types_env_id_name_unique",
197
+ "nullsNotDistinct": false,
198
+ "columns": [
199
+ "env_id",
200
+ "name"
201
+ ]
202
+ }
203
+ }
204
+ },
205
+ "public.fields": {
206
+ "name": "fields",
207
+ "schema": "",
208
+ "columns": {
209
+ "id": {
210
+ "name": "id",
211
+ "type": "text",
212
+ "primaryKey": true,
213
+ "notNull": true
214
+ },
215
+ "env_id": {
216
+ "name": "env_id",
217
+ "type": "text",
218
+ "primaryKey": false,
219
+ "notNull": true
220
+ },
221
+ "type_id": {
222
+ "name": "type_id",
223
+ "type": "text",
224
+ "primaryKey": false,
225
+ "notNull": true
226
+ },
227
+ "name": {
228
+ "name": "name",
229
+ "type": "text",
230
+ "primaryKey": false,
231
+ "notNull": true
232
+ },
233
+ "label": {
234
+ "name": "label",
235
+ "type": "text",
236
+ "primaryKey": false,
237
+ "notNull": true
238
+ },
239
+ "field_type": {
240
+ "name": "field_type",
241
+ "type": "text",
242
+ "primaryKey": false,
243
+ "notNull": true
244
+ },
245
+ "config": {
246
+ "name": "config",
247
+ "type": "jsonb",
248
+ "primaryKey": false,
249
+ "notNull": true,
250
+ "default": "'{}'"
251
+ },
252
+ "previous_names": {
253
+ "name": "previous_names",
254
+ "type": "text[]",
255
+ "primaryKey": false,
256
+ "notNull": true,
257
+ "default": "'{}'"
258
+ },
259
+ "position": {
260
+ "name": "position",
261
+ "type": "integer",
262
+ "primaryKey": false,
263
+ "notNull": true,
264
+ "default": 0
265
+ },
266
+ "required": {
267
+ "name": "required",
268
+ "type": "boolean",
269
+ "primaryKey": false,
270
+ "notNull": true,
271
+ "default": false
272
+ },
273
+ "created_at": {
274
+ "name": "created_at",
275
+ "type": "timestamp with time zone",
276
+ "primaryKey": false,
277
+ "notNull": true,
278
+ "default": "now()"
279
+ },
280
+ "updated_at": {
281
+ "name": "updated_at",
282
+ "type": "timestamp with time zone",
283
+ "primaryKey": false,
284
+ "notNull": true,
285
+ "default": "now()"
286
+ }
287
+ },
288
+ "indexes": {},
289
+ "foreignKeys": {
290
+ "fields_type_id_object_types_id_fk": {
291
+ "name": "fields_type_id_object_types_id_fk",
292
+ "tableFrom": "fields",
293
+ "tableTo": "object_types",
294
+ "columnsFrom": [
295
+ "type_id"
296
+ ],
297
+ "columnsTo": [
298
+ "id"
299
+ ],
300
+ "onDelete": "no action",
301
+ "onUpdate": "no action"
302
+ }
303
+ },
304
+ "compositePrimaryKeys": {},
305
+ "uniqueConstraints": {
306
+ "fields_type_id_name_unique": {
307
+ "name": "fields_type_id_name_unique",
308
+ "nullsNotDistinct": false,
309
+ "columns": [
310
+ "type_id",
311
+ "name"
312
+ ]
313
+ }
314
+ }
315
+ },
316
+ "public._revisions": {
317
+ "name": "_revisions",
318
+ "schema": "",
319
+ "columns": {
320
+ "id": {
321
+ "name": "id",
322
+ "type": "text",
323
+ "primaryKey": true,
324
+ "notNull": true
325
+ },
326
+ "workspace_id": {
327
+ "name": "workspace_id",
328
+ "type": "text",
329
+ "primaryKey": false,
330
+ "notNull": true
331
+ },
332
+ "env_id": {
333
+ "name": "env_id",
334
+ "type": "text",
335
+ "primaryKey": false,
336
+ "notNull": true
337
+ },
338
+ "type_id": {
339
+ "name": "type_id",
340
+ "type": "text",
341
+ "primaryKey": false,
342
+ "notNull": true
343
+ },
344
+ "type_name": {
345
+ "name": "type_name",
346
+ "type": "text",
347
+ "primaryKey": false,
348
+ "notNull": true
349
+ },
350
+ "object_id": {
351
+ "name": "object_id",
352
+ "type": "text",
353
+ "primaryKey": false,
354
+ "notNull": true
355
+ },
356
+ "version": {
357
+ "name": "version",
358
+ "type": "integer",
359
+ "primaryKey": false,
360
+ "notNull": true,
361
+ "default": 1
362
+ },
363
+ "version_type": {
364
+ "name": "version_type",
365
+ "type": "text",
366
+ "primaryKey": false,
367
+ "notNull": false
368
+ },
369
+ "snapshot": {
370
+ "name": "snapshot",
371
+ "type": "jsonb",
372
+ "primaryKey": false,
373
+ "notNull": true
374
+ },
375
+ "created_at": {
376
+ "name": "created_at",
377
+ "type": "timestamp with time zone",
378
+ "primaryKey": false,
379
+ "notNull": true,
380
+ "default": "now()"
381
+ },
382
+ "created_by": {
383
+ "name": "created_by",
384
+ "type": "text",
385
+ "primaryKey": false,
386
+ "notNull": false
387
+ }
388
+ },
389
+ "indexes": {
390
+ "revisions_object": {
391
+ "name": "revisions_object",
392
+ "columns": [
393
+ "workspace_id",
394
+ "env_id",
395
+ "object_id",
396
+ "created_at"
397
+ ],
398
+ "isUnique": false
399
+ }
400
+ },
401
+ "foreignKeys": {},
402
+ "compositePrimaryKeys": {},
403
+ "uniqueConstraints": {}
404
+ },
405
+ "public.members": {
406
+ "name": "members",
407
+ "schema": "",
408
+ "columns": {
409
+ "id": {
410
+ "name": "id",
411
+ "type": "text",
412
+ "primaryKey": true,
413
+ "notNull": true
414
+ },
415
+ "workspace_id": {
416
+ "name": "workspace_id",
417
+ "type": "text",
418
+ "primaryKey": false,
419
+ "notNull": true
420
+ },
421
+ "email": {
422
+ "name": "email",
423
+ "type": "text",
424
+ "primaryKey": false,
425
+ "notNull": true
426
+ },
427
+ "name": {
428
+ "name": "name",
429
+ "type": "text",
430
+ "primaryKey": false,
431
+ "notNull": false
432
+ },
433
+ "password_hash": {
434
+ "name": "password_hash",
435
+ "type": "text",
436
+ "primaryKey": false,
437
+ "notNull": true
438
+ },
439
+ "role": {
440
+ "name": "role",
441
+ "type": "text",
442
+ "primaryKey": false,
443
+ "notNull": true,
444
+ "default": "'editor'"
445
+ },
446
+ "created_at": {
447
+ "name": "created_at",
448
+ "type": "timestamp with time zone",
449
+ "primaryKey": false,
450
+ "notNull": true,
451
+ "default": "now()"
452
+ },
453
+ "last_login_at": {
454
+ "name": "last_login_at",
455
+ "type": "timestamp with time zone",
456
+ "primaryKey": false,
457
+ "notNull": false
458
+ }
459
+ },
460
+ "indexes": {},
461
+ "foreignKeys": {},
462
+ "compositePrimaryKeys": {},
463
+ "uniqueConstraints": {
464
+ "members_workspace_id_email_unique": {
465
+ "name": "members_workspace_id_email_unique",
466
+ "nullsNotDistinct": false,
467
+ "columns": [
468
+ "workspace_id",
469
+ "email"
470
+ ]
471
+ }
472
+ }
473
+ },
474
+ "public.refresh_tokens": {
475
+ "name": "refresh_tokens",
476
+ "schema": "",
477
+ "columns": {
478
+ "id": {
479
+ "name": "id",
480
+ "type": "text",
481
+ "primaryKey": true,
482
+ "notNull": true
483
+ },
484
+ "member_id": {
485
+ "name": "member_id",
486
+ "type": "text",
487
+ "primaryKey": false,
488
+ "notNull": true
489
+ },
490
+ "token_hash": {
491
+ "name": "token_hash",
492
+ "type": "text",
493
+ "primaryKey": false,
494
+ "notNull": true
495
+ },
496
+ "expires_at": {
497
+ "name": "expires_at",
498
+ "type": "timestamp with time zone",
499
+ "primaryKey": false,
500
+ "notNull": true
501
+ },
502
+ "created_at": {
503
+ "name": "created_at",
504
+ "type": "timestamp with time zone",
505
+ "primaryKey": false,
506
+ "notNull": true,
507
+ "default": "now()"
508
+ },
509
+ "revoked_at": {
510
+ "name": "revoked_at",
511
+ "type": "timestamp with time zone",
512
+ "primaryKey": false,
513
+ "notNull": false
514
+ }
515
+ },
516
+ "indexes": {
517
+ "refresh_tokens_member_idx": {
518
+ "name": "refresh_tokens_member_idx",
519
+ "columns": [
520
+ "member_id"
521
+ ],
522
+ "isUnique": false
523
+ }
524
+ },
525
+ "foreignKeys": {
526
+ "refresh_tokens_member_id_members_id_fk": {
527
+ "name": "refresh_tokens_member_id_members_id_fk",
528
+ "tableFrom": "refresh_tokens",
529
+ "tableTo": "members",
530
+ "columnsFrom": [
531
+ "member_id"
532
+ ],
533
+ "columnsTo": [
534
+ "id"
535
+ ],
536
+ "onDelete": "no action",
537
+ "onUpdate": "no action"
538
+ }
539
+ },
540
+ "compositePrimaryKeys": {},
541
+ "uniqueConstraints": {}
542
+ },
543
+ "public.api_keys": {
544
+ "name": "api_keys",
545
+ "schema": "",
546
+ "columns": {
547
+ "id": {
548
+ "name": "id",
549
+ "type": "text",
550
+ "primaryKey": true,
551
+ "notNull": true
552
+ },
553
+ "workspace_id": {
554
+ "name": "workspace_id",
555
+ "type": "text",
556
+ "primaryKey": false,
557
+ "notNull": true
558
+ },
559
+ "env_id": {
560
+ "name": "env_id",
561
+ "type": "text",
562
+ "primaryKey": false,
563
+ "notNull": true
564
+ },
565
+ "label": {
566
+ "name": "label",
567
+ "type": "text",
568
+ "primaryKey": false,
569
+ "notNull": true
570
+ },
571
+ "key_prefix": {
572
+ "name": "key_prefix",
573
+ "type": "text",
574
+ "primaryKey": false,
575
+ "notNull": true
576
+ },
577
+ "key_hash": {
578
+ "name": "key_hash",
579
+ "type": "text",
580
+ "primaryKey": false,
581
+ "notNull": true
582
+ },
583
+ "permissions": {
584
+ "name": "permissions",
585
+ "type": "jsonb",
586
+ "primaryKey": false,
587
+ "notNull": true,
588
+ "default": "'{}'"
589
+ },
590
+ "expires_at": {
591
+ "name": "expires_at",
592
+ "type": "timestamp with time zone",
593
+ "primaryKey": false,
594
+ "notNull": false
595
+ },
596
+ "created_at": {
597
+ "name": "created_at",
598
+ "type": "timestamp with time zone",
599
+ "primaryKey": false,
600
+ "notNull": true,
601
+ "default": "now()"
602
+ },
603
+ "created_by": {
604
+ "name": "created_by",
605
+ "type": "text",
606
+ "primaryKey": false,
607
+ "notNull": false
608
+ },
609
+ "last_used_at": {
610
+ "name": "last_used_at",
611
+ "type": "timestamp with time zone",
612
+ "primaryKey": false,
613
+ "notNull": false
614
+ },
615
+ "revoked_at": {
616
+ "name": "revoked_at",
617
+ "type": "timestamp with time zone",
618
+ "primaryKey": false,
619
+ "notNull": false
620
+ }
621
+ },
622
+ "indexes": {
623
+ "api_keys_key_hash_idx": {
624
+ "name": "api_keys_key_hash_idx",
625
+ "columns": [
626
+ "key_hash"
627
+ ],
628
+ "isUnique": false
629
+ }
630
+ },
631
+ "foreignKeys": {},
632
+ "compositePrimaryKeys": {},
633
+ "uniqueConstraints": {}
634
+ },
635
+ "public.media_assets": {
636
+ "name": "media_assets",
637
+ "schema": "",
638
+ "columns": {
639
+ "id": {
640
+ "name": "id",
641
+ "type": "text",
642
+ "primaryKey": true,
643
+ "notNull": true
644
+ },
645
+ "workspace_id": {
646
+ "name": "workspace_id",
647
+ "type": "text",
648
+ "primaryKey": false,
649
+ "notNull": true
650
+ },
651
+ "env_id": {
652
+ "name": "env_id",
653
+ "type": "text",
654
+ "primaryKey": false,
655
+ "notNull": true
656
+ },
657
+ "folder_id": {
658
+ "name": "folder_id",
659
+ "type": "text",
660
+ "primaryKey": false,
661
+ "notNull": false
662
+ },
663
+ "filename": {
664
+ "name": "filename",
665
+ "type": "text",
666
+ "primaryKey": false,
667
+ "notNull": true
668
+ },
669
+ "original_name": {
670
+ "name": "original_name",
671
+ "type": "text",
672
+ "primaryKey": false,
673
+ "notNull": true
674
+ },
675
+ "mime_type": {
676
+ "name": "mime_type",
677
+ "type": "text",
678
+ "primaryKey": false,
679
+ "notNull": true
680
+ },
681
+ "size_bytes": {
682
+ "name": "size_bytes",
683
+ "type": "bigint",
684
+ "primaryKey": false,
685
+ "notNull": true
686
+ },
687
+ "width": {
688
+ "name": "width",
689
+ "type": "integer",
690
+ "primaryKey": false,
691
+ "notNull": false
692
+ },
693
+ "height": {
694
+ "name": "height",
695
+ "type": "integer",
696
+ "primaryKey": false,
697
+ "notNull": false
698
+ },
699
+ "alt_text": {
700
+ "name": "alt_text",
701
+ "type": "text",
702
+ "primaryKey": false,
703
+ "notNull": false
704
+ },
705
+ "tags": {
706
+ "name": "tags",
707
+ "type": "text[]",
708
+ "primaryKey": false,
709
+ "notNull": true,
710
+ "default": "'{}'"
711
+ },
712
+ "metadata": {
713
+ "name": "metadata",
714
+ "type": "jsonb",
715
+ "primaryKey": false,
716
+ "notNull": true,
717
+ "default": "'{}'"
718
+ },
719
+ "storage_path": {
720
+ "name": "storage_path",
721
+ "type": "text",
722
+ "primaryKey": false,
723
+ "notNull": true
724
+ },
725
+ "thumbnail_path": {
726
+ "name": "thumbnail_path",
727
+ "type": "text",
728
+ "primaryKey": false,
729
+ "notNull": false
730
+ },
731
+ "created_at": {
732
+ "name": "created_at",
733
+ "type": "timestamp with time zone",
734
+ "primaryKey": false,
735
+ "notNull": true,
736
+ "default": "now()"
737
+ },
738
+ "created_by": {
739
+ "name": "created_by",
740
+ "type": "text",
741
+ "primaryKey": false,
742
+ "notNull": false
743
+ }
744
+ },
745
+ "indexes": {
746
+ "media_assets_workspace_env_idx": {
747
+ "name": "media_assets_workspace_env_idx",
748
+ "columns": [
749
+ "workspace_id",
750
+ "env_id"
751
+ ],
752
+ "isUnique": false
753
+ },
754
+ "media_assets_folder_idx": {
755
+ "name": "media_assets_folder_idx",
756
+ "columns": [
757
+ "folder_id"
758
+ ],
759
+ "isUnique": false
760
+ }
761
+ },
762
+ "foreignKeys": {
763
+ "media_assets_folder_id_media_folders_id_fk": {
764
+ "name": "media_assets_folder_id_media_folders_id_fk",
765
+ "tableFrom": "media_assets",
766
+ "tableTo": "media_folders",
767
+ "columnsFrom": [
768
+ "folder_id"
769
+ ],
770
+ "columnsTo": [
771
+ "id"
772
+ ],
773
+ "onDelete": "no action",
774
+ "onUpdate": "no action"
775
+ }
776
+ },
777
+ "compositePrimaryKeys": {},
778
+ "uniqueConstraints": {}
779
+ },
780
+ "public.media_folders": {
781
+ "name": "media_folders",
782
+ "schema": "",
783
+ "columns": {
784
+ "id": {
785
+ "name": "id",
786
+ "type": "text",
787
+ "primaryKey": true,
788
+ "notNull": true
789
+ },
790
+ "workspace_id": {
791
+ "name": "workspace_id",
792
+ "type": "text",
793
+ "primaryKey": false,
794
+ "notNull": true
795
+ },
796
+ "env_id": {
797
+ "name": "env_id",
798
+ "type": "text",
799
+ "primaryKey": false,
800
+ "notNull": true
801
+ },
802
+ "name": {
803
+ "name": "name",
804
+ "type": "text",
805
+ "primaryKey": false,
806
+ "notNull": true
807
+ },
808
+ "parent_id": {
809
+ "name": "parent_id",
810
+ "type": "text",
811
+ "primaryKey": false,
812
+ "notNull": false
813
+ },
814
+ "created_at": {
815
+ "name": "created_at",
816
+ "type": "timestamp with time zone",
817
+ "primaryKey": false,
818
+ "notNull": true,
819
+ "default": "now()"
820
+ }
821
+ },
822
+ "indexes": {},
823
+ "foreignKeys": {},
824
+ "compositePrimaryKeys": {},
825
+ "uniqueConstraints": {}
826
+ },
827
+ "public.webhooks": {
828
+ "name": "webhooks",
829
+ "schema": "",
830
+ "columns": {
831
+ "id": {
832
+ "name": "id",
833
+ "type": "text",
834
+ "primaryKey": true,
835
+ "notNull": true
836
+ },
837
+ "workspace_id": {
838
+ "name": "workspace_id",
839
+ "type": "text",
840
+ "primaryKey": false,
841
+ "notNull": true
842
+ },
843
+ "env_id": {
844
+ "name": "env_id",
845
+ "type": "text",
846
+ "primaryKey": false,
847
+ "notNull": true
848
+ },
849
+ "label": {
850
+ "name": "label",
851
+ "type": "text",
852
+ "primaryKey": false,
853
+ "notNull": true
854
+ },
855
+ "url": {
856
+ "name": "url",
857
+ "type": "text",
858
+ "primaryKey": false,
859
+ "notNull": true
860
+ },
861
+ "secret": {
862
+ "name": "secret",
863
+ "type": "text",
864
+ "primaryKey": false,
865
+ "notNull": false
866
+ },
867
+ "events": {
868
+ "name": "events",
869
+ "type": "text[]",
870
+ "primaryKey": false,
871
+ "notNull": true,
872
+ "default": "'{}'"
873
+ },
874
+ "type_names": {
875
+ "name": "type_names",
876
+ "type": "text[]",
877
+ "primaryKey": false,
878
+ "notNull": true,
879
+ "default": "'{}'"
880
+ },
881
+ "enabled": {
882
+ "name": "enabled",
883
+ "type": "boolean",
884
+ "primaryKey": false,
885
+ "notNull": true,
886
+ "default": true
887
+ },
888
+ "headers": {
889
+ "name": "headers",
890
+ "type": "jsonb",
891
+ "primaryKey": false,
892
+ "notNull": true,
893
+ "default": "'{}'"
894
+ },
895
+ "consecutive_failures": {
896
+ "name": "consecutive_failures",
897
+ "type": "integer",
898
+ "primaryKey": false,
899
+ "notNull": true,
900
+ "default": 0
901
+ },
902
+ "paused_reason": {
903
+ "name": "paused_reason",
904
+ "type": "text",
905
+ "primaryKey": false,
906
+ "notNull": false
907
+ },
908
+ "created_at": {
909
+ "name": "created_at",
910
+ "type": "timestamp with time zone",
911
+ "primaryKey": false,
912
+ "notNull": true,
913
+ "default": "now()"
914
+ },
915
+ "updated_at": {
916
+ "name": "updated_at",
917
+ "type": "timestamp with time zone",
918
+ "primaryKey": false,
919
+ "notNull": true,
920
+ "default": "now()"
921
+ }
922
+ },
923
+ "indexes": {
924
+ "webhooks_workspace_env_idx": {
925
+ "name": "webhooks_workspace_env_idx",
926
+ "columns": [
927
+ "workspace_id",
928
+ "env_id"
929
+ ],
930
+ "isUnique": false
931
+ }
932
+ },
933
+ "foreignKeys": {},
934
+ "compositePrimaryKeys": {},
935
+ "uniqueConstraints": {}
936
+ },
937
+ "public.webhook_deliveries": {
938
+ "name": "webhook_deliveries",
939
+ "schema": "",
940
+ "columns": {
941
+ "id": {
942
+ "name": "id",
943
+ "type": "text",
944
+ "primaryKey": true,
945
+ "notNull": true
946
+ },
947
+ "webhook_id": {
948
+ "name": "webhook_id",
949
+ "type": "text",
950
+ "primaryKey": false,
951
+ "notNull": true
952
+ },
953
+ "workspace_id": {
954
+ "name": "workspace_id",
955
+ "type": "text",
956
+ "primaryKey": false,
957
+ "notNull": true
958
+ },
959
+ "env_id": {
960
+ "name": "env_id",
961
+ "type": "text",
962
+ "primaryKey": false,
963
+ "notNull": true
964
+ },
965
+ "event": {
966
+ "name": "event",
967
+ "type": "text",
968
+ "primaryKey": false,
969
+ "notNull": true
970
+ },
971
+ "type_name": {
972
+ "name": "type_name",
973
+ "type": "text",
974
+ "primaryKey": false,
975
+ "notNull": true
976
+ },
977
+ "object_id": {
978
+ "name": "object_id",
979
+ "type": "text",
980
+ "primaryKey": false,
981
+ "notNull": true
982
+ },
983
+ "payload": {
984
+ "name": "payload",
985
+ "type": "jsonb",
986
+ "primaryKey": false,
987
+ "notNull": true
988
+ },
989
+ "status_code": {
990
+ "name": "status_code",
991
+ "type": "integer",
992
+ "primaryKey": false,
993
+ "notNull": false
994
+ },
995
+ "response_body": {
996
+ "name": "response_body",
997
+ "type": "text",
998
+ "primaryKey": false,
999
+ "notNull": false
1000
+ },
1001
+ "duration_ms": {
1002
+ "name": "duration_ms",
1003
+ "type": "integer",
1004
+ "primaryKey": false,
1005
+ "notNull": false
1006
+ },
1007
+ "success": {
1008
+ "name": "success",
1009
+ "type": "boolean",
1010
+ "primaryKey": false,
1011
+ "notNull": true
1012
+ },
1013
+ "error": {
1014
+ "name": "error",
1015
+ "type": "text",
1016
+ "primaryKey": false,
1017
+ "notNull": false
1018
+ },
1019
+ "created_at": {
1020
+ "name": "created_at",
1021
+ "type": "timestamp with time zone",
1022
+ "primaryKey": false,
1023
+ "notNull": true,
1024
+ "default": "now()"
1025
+ }
1026
+ },
1027
+ "indexes": {
1028
+ "webhook_deliveries_workspace_env_idx": {
1029
+ "name": "webhook_deliveries_workspace_env_idx",
1030
+ "columns": [
1031
+ "workspace_id",
1032
+ "env_id"
1033
+ ],
1034
+ "isUnique": false
1035
+ },
1036
+ "webhook_deliveries_webhook_idx": {
1037
+ "name": "webhook_deliveries_webhook_idx",
1038
+ "columns": [
1039
+ "webhook_id"
1040
+ ],
1041
+ "isUnique": false
1042
+ }
1043
+ },
1044
+ "foreignKeys": {},
1045
+ "compositePrimaryKeys": {},
1046
+ "uniqueConstraints": {}
1047
+ },
1048
+ "public.audit_log": {
1049
+ "name": "audit_log",
1050
+ "schema": "",
1051
+ "columns": {
1052
+ "id": {
1053
+ "name": "id",
1054
+ "type": "text",
1055
+ "primaryKey": true,
1056
+ "notNull": true
1057
+ },
1058
+ "workspace_id": {
1059
+ "name": "workspace_id",
1060
+ "type": "text",
1061
+ "primaryKey": false,
1062
+ "notNull": true
1063
+ },
1064
+ "env_id": {
1065
+ "name": "env_id",
1066
+ "type": "text",
1067
+ "primaryKey": false,
1068
+ "notNull": false
1069
+ },
1070
+ "event_type": {
1071
+ "name": "event_type",
1072
+ "type": "text",
1073
+ "primaryKey": false,
1074
+ "notNull": true
1075
+ },
1076
+ "event_id": {
1077
+ "name": "event_id",
1078
+ "type": "text",
1079
+ "primaryKey": false,
1080
+ "notNull": true
1081
+ },
1082
+ "actor_id": {
1083
+ "name": "actor_id",
1084
+ "type": "text",
1085
+ "primaryKey": false,
1086
+ "notNull": false
1087
+ },
1088
+ "actor_type": {
1089
+ "name": "actor_type",
1090
+ "type": "text",
1091
+ "primaryKey": false,
1092
+ "notNull": false
1093
+ },
1094
+ "payload": {
1095
+ "name": "payload",
1096
+ "type": "jsonb",
1097
+ "primaryKey": false,
1098
+ "notNull": true
1099
+ },
1100
+ "created_at": {
1101
+ "name": "created_at",
1102
+ "type": "timestamp with time zone",
1103
+ "primaryKey": false,
1104
+ "notNull": true,
1105
+ "default": "now()"
1106
+ }
1107
+ },
1108
+ "indexes": {
1109
+ "audit_log_workspace": {
1110
+ "name": "audit_log_workspace",
1111
+ "columns": [
1112
+ "workspace_id",
1113
+ "created_at"
1114
+ ],
1115
+ "isUnique": false
1116
+ }
1117
+ },
1118
+ "foreignKeys": {},
1119
+ "compositePrimaryKeys": {},
1120
+ "uniqueConstraints": {}
1121
+ },
1122
+ "public.saved_views": {
1123
+ "name": "saved_views",
1124
+ "schema": "",
1125
+ "columns": {
1126
+ "id": {
1127
+ "name": "id",
1128
+ "type": "text",
1129
+ "primaryKey": true,
1130
+ "notNull": true
1131
+ },
1132
+ "workspace_id": {
1133
+ "name": "workspace_id",
1134
+ "type": "text",
1135
+ "primaryKey": false,
1136
+ "notNull": true
1137
+ },
1138
+ "env_id": {
1139
+ "name": "env_id",
1140
+ "type": "text",
1141
+ "primaryKey": false,
1142
+ "notNull": true
1143
+ },
1144
+ "type_name": {
1145
+ "name": "type_name",
1146
+ "type": "text",
1147
+ "primaryKey": false,
1148
+ "notNull": true
1149
+ },
1150
+ "name": {
1151
+ "name": "name",
1152
+ "type": "text",
1153
+ "primaryKey": false,
1154
+ "notNull": true
1155
+ },
1156
+ "filters": {
1157
+ "name": "filters",
1158
+ "type": "jsonb",
1159
+ "primaryKey": false,
1160
+ "notNull": true,
1161
+ "default": "'{}'"
1162
+ },
1163
+ "visibility": {
1164
+ "name": "visibility",
1165
+ "type": "text",
1166
+ "primaryKey": false,
1167
+ "notNull": true,
1168
+ "default": "'private'"
1169
+ },
1170
+ "created_by": {
1171
+ "name": "created_by",
1172
+ "type": "text",
1173
+ "primaryKey": false,
1174
+ "notNull": true
1175
+ },
1176
+ "created_at": {
1177
+ "name": "created_at",
1178
+ "type": "timestamp with time zone",
1179
+ "primaryKey": false,
1180
+ "notNull": true,
1181
+ "default": "now()"
1182
+ },
1183
+ "updated_at": {
1184
+ "name": "updated_at",
1185
+ "type": "timestamp with time zone",
1186
+ "primaryKey": false,
1187
+ "notNull": true,
1188
+ "default": "now()"
1189
+ }
1190
+ },
1191
+ "indexes": {
1192
+ "saved_views_workspace_env_idx": {
1193
+ "name": "saved_views_workspace_env_idx",
1194
+ "columns": [
1195
+ "workspace_id",
1196
+ "env_id"
1197
+ ],
1198
+ "isUnique": false
1199
+ }
1200
+ },
1201
+ "foreignKeys": {},
1202
+ "compositePrimaryKeys": {},
1203
+ "uniqueConstraints": {}
1204
+ },
1205
+ "public.member_env_roles": {
1206
+ "name": "member_env_roles",
1207
+ "schema": "",
1208
+ "columns": {
1209
+ "id": {
1210
+ "name": "id",
1211
+ "type": "text",
1212
+ "primaryKey": true,
1213
+ "notNull": true
1214
+ },
1215
+ "member_id": {
1216
+ "name": "member_id",
1217
+ "type": "text",
1218
+ "primaryKey": false,
1219
+ "notNull": true
1220
+ },
1221
+ "env_id": {
1222
+ "name": "env_id",
1223
+ "type": "text",
1224
+ "primaryKey": false,
1225
+ "notNull": true
1226
+ },
1227
+ "workspace_id": {
1228
+ "name": "workspace_id",
1229
+ "type": "text",
1230
+ "primaryKey": false,
1231
+ "notNull": true
1232
+ },
1233
+ "role": {
1234
+ "name": "role",
1235
+ "type": "text",
1236
+ "primaryKey": false,
1237
+ "notNull": true
1238
+ },
1239
+ "created_at": {
1240
+ "name": "created_at",
1241
+ "type": "timestamp with time zone",
1242
+ "primaryKey": false,
1243
+ "notNull": true,
1244
+ "default": "now()"
1245
+ }
1246
+ },
1247
+ "indexes": {},
1248
+ "foreignKeys": {
1249
+ "member_env_roles_member_id_members_id_fk": {
1250
+ "name": "member_env_roles_member_id_members_id_fk",
1251
+ "tableFrom": "member_env_roles",
1252
+ "tableTo": "members",
1253
+ "columnsFrom": [
1254
+ "member_id"
1255
+ ],
1256
+ "columnsTo": [
1257
+ "id"
1258
+ ],
1259
+ "onDelete": "cascade",
1260
+ "onUpdate": "no action"
1261
+ },
1262
+ "member_env_roles_env_id_environments_id_fk": {
1263
+ "name": "member_env_roles_env_id_environments_id_fk",
1264
+ "tableFrom": "member_env_roles",
1265
+ "tableTo": "environments",
1266
+ "columnsFrom": [
1267
+ "env_id"
1268
+ ],
1269
+ "columnsTo": [
1270
+ "id"
1271
+ ],
1272
+ "onDelete": "cascade",
1273
+ "onUpdate": "no action"
1274
+ }
1275
+ },
1276
+ "compositePrimaryKeys": {},
1277
+ "uniqueConstraints": {
1278
+ "member_env_roles_member_id_env_id_unique": {
1279
+ "name": "member_env_roles_member_id_env_id_unique",
1280
+ "nullsNotDistinct": false,
1281
+ "columns": [
1282
+ "member_id",
1283
+ "env_id"
1284
+ ]
1285
+ }
1286
+ }
1287
+ },
1288
+ "public.workspace_domains": {
1289
+ "name": "workspace_domains",
1290
+ "schema": "",
1291
+ "columns": {
1292
+ "id": {
1293
+ "name": "id",
1294
+ "type": "text",
1295
+ "primaryKey": true,
1296
+ "notNull": true
1297
+ },
1298
+ "workspace_id": {
1299
+ "name": "workspace_id",
1300
+ "type": "text",
1301
+ "primaryKey": false,
1302
+ "notNull": true
1303
+ },
1304
+ "domain": {
1305
+ "name": "domain",
1306
+ "type": "text",
1307
+ "primaryKey": false,
1308
+ "notNull": true
1309
+ },
1310
+ "created_at": {
1311
+ "name": "created_at",
1312
+ "type": "timestamp with time zone",
1313
+ "primaryKey": false,
1314
+ "notNull": true,
1315
+ "default": "now()"
1316
+ }
1317
+ },
1318
+ "indexes": {},
1319
+ "foreignKeys": {
1320
+ "workspace_domains_workspace_id_workspaces_id_fk": {
1321
+ "name": "workspace_domains_workspace_id_workspaces_id_fk",
1322
+ "tableFrom": "workspace_domains",
1323
+ "tableTo": "workspaces",
1324
+ "columnsFrom": [
1325
+ "workspace_id"
1326
+ ],
1327
+ "columnsTo": [
1328
+ "id"
1329
+ ],
1330
+ "onDelete": "cascade",
1331
+ "onUpdate": "no action"
1332
+ }
1333
+ },
1334
+ "compositePrimaryKeys": {},
1335
+ "uniqueConstraints": {
1336
+ "workspace_domains_domain_unique": {
1337
+ "name": "workspace_domains_domain_unique",
1338
+ "nullsNotDistinct": false,
1339
+ "columns": [
1340
+ "domain"
1341
+ ]
1342
+ }
1343
+ }
1344
+ },
1345
+ "public.release_items": {
1346
+ "name": "release_items",
1347
+ "schema": "",
1348
+ "columns": {
1349
+ "id": {
1350
+ "name": "id",
1351
+ "type": "text",
1352
+ "primaryKey": true,
1353
+ "notNull": true
1354
+ },
1355
+ "release_id": {
1356
+ "name": "release_id",
1357
+ "type": "text",
1358
+ "primaryKey": false,
1359
+ "notNull": true
1360
+ },
1361
+ "object_id": {
1362
+ "name": "object_id",
1363
+ "type": "text",
1364
+ "primaryKey": false,
1365
+ "notNull": true
1366
+ },
1367
+ "type_name": {
1368
+ "name": "type_name",
1369
+ "type": "text",
1370
+ "primaryKey": false,
1371
+ "notNull": true
1372
+ },
1373
+ "field_snapshot": {
1374
+ "name": "field_snapshot",
1375
+ "type": "jsonb",
1376
+ "primaryKey": false,
1377
+ "notNull": true
1378
+ }
1379
+ },
1380
+ "indexes": {
1381
+ "release_items_release_idx": {
1382
+ "name": "release_items_release_idx",
1383
+ "columns": [
1384
+ "release_id"
1385
+ ],
1386
+ "isUnique": false
1387
+ },
1388
+ "release_items_object_idx": {
1389
+ "name": "release_items_object_idx",
1390
+ "columns": [
1391
+ "object_id"
1392
+ ],
1393
+ "isUnique": false
1394
+ }
1395
+ },
1396
+ "foreignKeys": {
1397
+ "release_items_release_id_releases_id_fk": {
1398
+ "name": "release_items_release_id_releases_id_fk",
1399
+ "tableFrom": "release_items",
1400
+ "tableTo": "releases",
1401
+ "columnsFrom": [
1402
+ "release_id"
1403
+ ],
1404
+ "columnsTo": [
1405
+ "id"
1406
+ ],
1407
+ "onDelete": "cascade",
1408
+ "onUpdate": "no action"
1409
+ }
1410
+ },
1411
+ "compositePrimaryKeys": {},
1412
+ "uniqueConstraints": {}
1413
+ },
1414
+ "public.releases": {
1415
+ "name": "releases",
1416
+ "schema": "",
1417
+ "columns": {
1418
+ "id": {
1419
+ "name": "id",
1420
+ "type": "text",
1421
+ "primaryKey": true,
1422
+ "notNull": true
1423
+ },
1424
+ "name": {
1425
+ "name": "name",
1426
+ "type": "text",
1427
+ "primaryKey": false,
1428
+ "notNull": true
1429
+ },
1430
+ "workspace_id": {
1431
+ "name": "workspace_id",
1432
+ "type": "text",
1433
+ "primaryKey": false,
1434
+ "notNull": true
1435
+ },
1436
+ "source_env_id": {
1437
+ "name": "source_env_id",
1438
+ "type": "text",
1439
+ "primaryKey": false,
1440
+ "notNull": true
1441
+ },
1442
+ "target_env_id": {
1443
+ "name": "target_env_id",
1444
+ "type": "text",
1445
+ "primaryKey": false,
1446
+ "notNull": true
1447
+ },
1448
+ "status": {
1449
+ "name": "status",
1450
+ "type": "text",
1451
+ "primaryKey": false,
1452
+ "notNull": true,
1453
+ "default": "'pending'"
1454
+ },
1455
+ "created_at": {
1456
+ "name": "created_at",
1457
+ "type": "timestamp with time zone",
1458
+ "primaryKey": false,
1459
+ "notNull": true,
1460
+ "default": "now()"
1461
+ },
1462
+ "applied_at": {
1463
+ "name": "applied_at",
1464
+ "type": "timestamp with time zone",
1465
+ "primaryKey": false,
1466
+ "notNull": false
1467
+ }
1468
+ },
1469
+ "indexes": {
1470
+ "releases_workspace_idx": {
1471
+ "name": "releases_workspace_idx",
1472
+ "columns": [
1473
+ "workspace_id"
1474
+ ],
1475
+ "isUnique": false
1476
+ }
1477
+ },
1478
+ "foreignKeys": {
1479
+ "releases_workspace_id_workspaces_id_fk": {
1480
+ "name": "releases_workspace_id_workspaces_id_fk",
1481
+ "tableFrom": "releases",
1482
+ "tableTo": "workspaces",
1483
+ "columnsFrom": [
1484
+ "workspace_id"
1485
+ ],
1486
+ "columnsTo": [
1487
+ "id"
1488
+ ],
1489
+ "onDelete": "cascade",
1490
+ "onUpdate": "no action"
1491
+ }
1492
+ },
1493
+ "compositePrimaryKeys": {},
1494
+ "uniqueConstraints": {}
1495
+ },
1496
+ "public.form_submissions": {
1497
+ "name": "form_submissions",
1498
+ "schema": "",
1499
+ "columns": {
1500
+ "id": {
1501
+ "name": "id",
1502
+ "type": "text",
1503
+ "primaryKey": true,
1504
+ "notNull": true
1505
+ },
1506
+ "form_id": {
1507
+ "name": "form_id",
1508
+ "type": "text",
1509
+ "primaryKey": false,
1510
+ "notNull": true
1511
+ },
1512
+ "workspace_id": {
1513
+ "name": "workspace_id",
1514
+ "type": "text",
1515
+ "primaryKey": false,
1516
+ "notNull": true
1517
+ },
1518
+ "env_id": {
1519
+ "name": "env_id",
1520
+ "type": "text",
1521
+ "primaryKey": false,
1522
+ "notNull": true
1523
+ },
1524
+ "data": {
1525
+ "name": "data",
1526
+ "type": "jsonb",
1527
+ "primaryKey": false,
1528
+ "notNull": true
1529
+ },
1530
+ "ip_address": {
1531
+ "name": "ip_address",
1532
+ "type": "text",
1533
+ "primaryKey": false,
1534
+ "notNull": false
1535
+ },
1536
+ "metadata": {
1537
+ "name": "metadata",
1538
+ "type": "jsonb",
1539
+ "primaryKey": false,
1540
+ "notNull": false
1541
+ },
1542
+ "created_at": {
1543
+ "name": "created_at",
1544
+ "type": "timestamp with time zone",
1545
+ "primaryKey": false,
1546
+ "notNull": true,
1547
+ "default": "now()"
1548
+ }
1549
+ },
1550
+ "indexes": {
1551
+ "form_submissions_workspace_env_idx": {
1552
+ "name": "form_submissions_workspace_env_idx",
1553
+ "columns": [
1554
+ "workspace_id",
1555
+ "env_id"
1556
+ ],
1557
+ "isUnique": false
1558
+ },
1559
+ "form_submissions_form_idx": {
1560
+ "name": "form_submissions_form_idx",
1561
+ "columns": [
1562
+ "form_id"
1563
+ ],
1564
+ "isUnique": false
1565
+ }
1566
+ },
1567
+ "foreignKeys": {
1568
+ "form_submissions_workspace_id_workspaces_id_fk": {
1569
+ "name": "form_submissions_workspace_id_workspaces_id_fk",
1570
+ "tableFrom": "form_submissions",
1571
+ "tableTo": "workspaces",
1572
+ "columnsFrom": [
1573
+ "workspace_id"
1574
+ ],
1575
+ "columnsTo": [
1576
+ "id"
1577
+ ],
1578
+ "onDelete": "cascade",
1579
+ "onUpdate": "no action"
1580
+ }
1581
+ },
1582
+ "compositePrimaryKeys": {},
1583
+ "uniqueConstraints": {}
1584
+ },
1585
+ "public.form_app_settings": {
1586
+ "name": "form_app_settings",
1587
+ "schema": "",
1588
+ "columns": {
1589
+ "workspace_id": {
1590
+ "name": "workspace_id",
1591
+ "type": "text",
1592
+ "primaryKey": false,
1593
+ "notNull": true
1594
+ },
1595
+ "env_id": {
1596
+ "name": "env_id",
1597
+ "type": "text",
1598
+ "primaryKey": false,
1599
+ "notNull": true
1600
+ },
1601
+ "settings": {
1602
+ "name": "settings",
1603
+ "type": "jsonb",
1604
+ "primaryKey": false,
1605
+ "notNull": true,
1606
+ "default": "'{}'::jsonb"
1607
+ },
1608
+ "updated_at": {
1609
+ "name": "updated_at",
1610
+ "type": "timestamp with time zone",
1611
+ "primaryKey": false,
1612
+ "notNull": true,
1613
+ "default": "now()"
1614
+ }
1615
+ },
1616
+ "indexes": {},
1617
+ "foreignKeys": {
1618
+ "form_app_settings_workspace_id_workspaces_id_fk": {
1619
+ "name": "form_app_settings_workspace_id_workspaces_id_fk",
1620
+ "tableFrom": "form_app_settings",
1621
+ "tableTo": "workspaces",
1622
+ "columnsFrom": [
1623
+ "workspace_id"
1624
+ ],
1625
+ "columnsTo": [
1626
+ "id"
1627
+ ],
1628
+ "onDelete": "cascade",
1629
+ "onUpdate": "no action"
1630
+ }
1631
+ },
1632
+ "compositePrimaryKeys": {
1633
+ "form_app_settings_workspace_id_env_id_pk": {
1634
+ "name": "form_app_settings_workspace_id_env_id_pk",
1635
+ "columns": [
1636
+ "workspace_id",
1637
+ "env_id"
1638
+ ]
1639
+ }
1640
+ },
1641
+ "uniqueConstraints": {}
1642
+ },
1643
+ "public.forms": {
1644
+ "name": "forms",
1645
+ "schema": "",
1646
+ "columns": {
1647
+ "id": {
1648
+ "name": "id",
1649
+ "type": "text",
1650
+ "primaryKey": true,
1651
+ "notNull": true
1652
+ },
1653
+ "workspace_id": {
1654
+ "name": "workspace_id",
1655
+ "type": "text",
1656
+ "primaryKey": false,
1657
+ "notNull": true
1658
+ },
1659
+ "env_id": {
1660
+ "name": "env_id",
1661
+ "type": "text",
1662
+ "primaryKey": false,
1663
+ "notNull": true
1664
+ },
1665
+ "name": {
1666
+ "name": "name",
1667
+ "type": "text",
1668
+ "primaryKey": false,
1669
+ "notNull": true
1670
+ },
1671
+ "slug": {
1672
+ "name": "slug",
1673
+ "type": "text",
1674
+ "primaryKey": false,
1675
+ "notNull": true
1676
+ },
1677
+ "is_live": {
1678
+ "name": "is_live",
1679
+ "type": "boolean",
1680
+ "primaryKey": false,
1681
+ "notNull": true,
1682
+ "default": false
1683
+ },
1684
+ "fields": {
1685
+ "name": "fields",
1686
+ "type": "jsonb",
1687
+ "primaryKey": false,
1688
+ "notNull": true,
1689
+ "default": "'[]'::jsonb"
1690
+ },
1691
+ "settings": {
1692
+ "name": "settings",
1693
+ "type": "jsonb",
1694
+ "primaryKey": false,
1695
+ "notNull": true,
1696
+ "default": "'{}'::jsonb"
1697
+ },
1698
+ "created_at": {
1699
+ "name": "created_at",
1700
+ "type": "timestamp with time zone",
1701
+ "primaryKey": false,
1702
+ "notNull": true,
1703
+ "default": "now()"
1704
+ },
1705
+ "updated_at": {
1706
+ "name": "updated_at",
1707
+ "type": "timestamp with time zone",
1708
+ "primaryKey": false,
1709
+ "notNull": true,
1710
+ "default": "now()"
1711
+ }
1712
+ },
1713
+ "indexes": {
1714
+ "forms_workspace_env_idx": {
1715
+ "name": "forms_workspace_env_idx",
1716
+ "columns": [
1717
+ "workspace_id",
1718
+ "env_id"
1719
+ ],
1720
+ "isUnique": false
1721
+ }
1722
+ },
1723
+ "foreignKeys": {
1724
+ "forms_workspace_id_workspaces_id_fk": {
1725
+ "name": "forms_workspace_id_workspaces_id_fk",
1726
+ "tableFrom": "forms",
1727
+ "tableTo": "workspaces",
1728
+ "columnsFrom": [
1729
+ "workspace_id"
1730
+ ],
1731
+ "columnsTo": [
1732
+ "id"
1733
+ ],
1734
+ "onDelete": "cascade",
1735
+ "onUpdate": "no action"
1736
+ }
1737
+ },
1738
+ "compositePrimaryKeys": {},
1739
+ "uniqueConstraints": {}
1740
+ },
1741
+ "public.workspace_installed_apps": {
1742
+ "name": "workspace_installed_apps",
1743
+ "schema": "",
1744
+ "columns": {
1745
+ "id": {
1746
+ "name": "id",
1747
+ "type": "text",
1748
+ "primaryKey": true,
1749
+ "notNull": true
1750
+ },
1751
+ "workspace_id": {
1752
+ "name": "workspace_id",
1753
+ "type": "text",
1754
+ "primaryKey": false,
1755
+ "notNull": true
1756
+ },
1757
+ "app_id": {
1758
+ "name": "app_id",
1759
+ "type": "text",
1760
+ "primaryKey": false,
1761
+ "notNull": true
1762
+ },
1763
+ "options": {
1764
+ "name": "options",
1765
+ "type": "jsonb",
1766
+ "primaryKey": false,
1767
+ "notNull": true,
1768
+ "default": "'{}'"
1769
+ },
1770
+ "installed_at": {
1771
+ "name": "installed_at",
1772
+ "type": "timestamp with time zone",
1773
+ "primaryKey": false,
1774
+ "notNull": true,
1775
+ "default": "now()"
1776
+ },
1777
+ "installed_by": {
1778
+ "name": "installed_by",
1779
+ "type": "text",
1780
+ "primaryKey": false,
1781
+ "notNull": false
1782
+ }
1783
+ },
1784
+ "indexes": {
1785
+ "workspace_installed_apps_ws_app_unique": {
1786
+ "name": "workspace_installed_apps_ws_app_unique",
1787
+ "columns": [
1788
+ "workspace_id",
1789
+ "app_id"
1790
+ ],
1791
+ "isUnique": true
1792
+ }
1793
+ },
1794
+ "foreignKeys": {},
1795
+ "compositePrimaryKeys": {},
1796
+ "uniqueConstraints": {}
1797
+ },
1798
+ "public.app_data": {
1799
+ "name": "app_data",
1800
+ "schema": "",
1801
+ "columns": {
1802
+ "id": {
1803
+ "name": "id",
1804
+ "type": "text",
1805
+ "primaryKey": true,
1806
+ "notNull": true
1807
+ },
1808
+ "app_id": {
1809
+ "name": "app_id",
1810
+ "type": "text",
1811
+ "primaryKey": false,
1812
+ "notNull": true
1813
+ },
1814
+ "object_id": {
1815
+ "name": "object_id",
1816
+ "type": "text",
1817
+ "primaryKey": false,
1818
+ "notNull": true
1819
+ },
1820
+ "workspace_id": {
1821
+ "name": "workspace_id",
1822
+ "type": "text",
1823
+ "primaryKey": false,
1824
+ "notNull": true
1825
+ },
1826
+ "env_id": {
1827
+ "name": "env_id",
1828
+ "type": "text",
1829
+ "primaryKey": false,
1830
+ "notNull": true
1831
+ },
1832
+ "data": {
1833
+ "name": "data",
1834
+ "type": "jsonb",
1835
+ "primaryKey": false,
1836
+ "notNull": true,
1837
+ "default": "'{}'"
1838
+ },
1839
+ "published_data": {
1840
+ "name": "published_data",
1841
+ "type": "jsonb",
1842
+ "primaryKey": false,
1843
+ "notNull": false
1844
+ },
1845
+ "updated_at": {
1846
+ "name": "updated_at",
1847
+ "type": "timestamp with time zone",
1848
+ "primaryKey": false,
1849
+ "notNull": true,
1850
+ "default": "now()"
1851
+ }
1852
+ },
1853
+ "indexes": {
1854
+ "app_data_app_object_unique": {
1855
+ "name": "app_data_app_object_unique",
1856
+ "columns": [
1857
+ "app_id",
1858
+ "object_id",
1859
+ "workspace_id",
1860
+ "env_id"
1861
+ ],
1862
+ "isUnique": true
1863
+ }
1864
+ },
1865
+ "foreignKeys": {},
1866
+ "compositePrimaryKeys": {},
1867
+ "uniqueConstraints": {}
1868
+ },
1869
+ "public.globals": {
1870
+ "name": "globals",
1871
+ "schema": "",
1872
+ "columns": {
1873
+ "id": {
1874
+ "name": "id",
1875
+ "type": "text",
1876
+ "primaryKey": true,
1877
+ "notNull": true
1878
+ },
1879
+ "name": {
1880
+ "name": "name",
1881
+ "type": "text",
1882
+ "primaryKey": false,
1883
+ "notNull": true
1884
+ },
1885
+ "workspace_id": {
1886
+ "name": "workspace_id",
1887
+ "type": "text",
1888
+ "primaryKey": false,
1889
+ "notNull": true
1890
+ },
1891
+ "env_id": {
1892
+ "name": "env_id",
1893
+ "type": "text",
1894
+ "primaryKey": false,
1895
+ "notNull": true
1896
+ },
1897
+ "data": {
1898
+ "name": "data",
1899
+ "type": "jsonb",
1900
+ "primaryKey": false,
1901
+ "notNull": true,
1902
+ "default": "'{}'"
1903
+ },
1904
+ "updated_at": {
1905
+ "name": "updated_at",
1906
+ "type": "timestamp with time zone",
1907
+ "primaryKey": false,
1908
+ "notNull": true,
1909
+ "default": "now()"
1910
+ }
1911
+ },
1912
+ "indexes": {
1913
+ "globals_workspace_env_name_unique": {
1914
+ "name": "globals_workspace_env_name_unique",
1915
+ "columns": [
1916
+ "workspace_id",
1917
+ "env_id",
1918
+ "name"
1919
+ ],
1920
+ "isUnique": true
1921
+ }
1922
+ },
1923
+ "foreignKeys": {},
1924
+ "compositePrimaryKeys": {},
1925
+ "uniqueConstraints": {}
1926
+ }
1927
+ },
1928
+ "enums": {},
1929
+ "schemas": {},
1930
+ "_meta": {
1931
+ "columns": {},
1932
+ "schemas": {},
1933
+ "tables": {}
1934
+ }
1935
+ }