0004_snapshot.json 29 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120
  1. {
  2. "id": "e50b2f30-721e-4665-b308-8bd7faa8d552",
  3. "prevId": "973ca84c-a8e2-4fde-960e-86bd0ce3cefd",
  4. "version": "7",
  5. "dialect": "postgresql",
  6. "tables": {
  7. "public.accounts": {
  8. "name": "accounts",
  9. "schema": "",
  10. "columns": {
  11. "id": {
  12. "name": "id",
  13. "type": "text",
  14. "primaryKey": true,
  15. "notNull": true
  16. },
  17. "user_id": {
  18. "name": "user_id",
  19. "type": "text",
  20. "primaryKey": false,
  21. "notNull": true
  22. },
  23. "account_id": {
  24. "name": "account_id",
  25. "type": "text",
  26. "primaryKey": false,
  27. "notNull": true
  28. },
  29. "provider_id": {
  30. "name": "provider_id",
  31. "type": "text",
  32. "primaryKey": false,
  33. "notNull": true
  34. },
  35. "access_token": {
  36. "name": "access_token",
  37. "type": "text",
  38. "primaryKey": false,
  39. "notNull": false
  40. },
  41. "refresh_token": {
  42. "name": "refresh_token",
  43. "type": "text",
  44. "primaryKey": false,
  45. "notNull": false
  46. },
  47. "id_token": {
  48. "name": "id_token",
  49. "type": "text",
  50. "primaryKey": false,
  51. "notNull": false
  52. },
  53. "access_token_expires_at": {
  54. "name": "access_token_expires_at",
  55. "type": "timestamp with time zone",
  56. "primaryKey": false,
  57. "notNull": false
  58. },
  59. "refresh_token_expires_at": {
  60. "name": "refresh_token_expires_at",
  61. "type": "timestamp with time zone",
  62. "primaryKey": false,
  63. "notNull": false
  64. },
  65. "scope": {
  66. "name": "scope",
  67. "type": "text",
  68. "primaryKey": false,
  69. "notNull": false
  70. },
  71. "password": {
  72. "name": "password",
  73. "type": "text",
  74. "primaryKey": false,
  75. "notNull": false
  76. },
  77. "created_at": {
  78. "name": "created_at",
  79. "type": "timestamp with time zone",
  80. "primaryKey": false,
  81. "notNull": true,
  82. "default": "now()"
  83. },
  84. "updated_at": {
  85. "name": "updated_at",
  86. "type": "timestamp with time zone",
  87. "primaryKey": false,
  88. "notNull": true,
  89. "default": "now()"
  90. }
  91. },
  92. "indexes": {
  93. "accounts_user_id_idx": {
  94. "name": "accounts_user_id_idx",
  95. "columns": [
  96. {
  97. "expression": "user_id",
  98. "isExpression": false,
  99. "asc": true,
  100. "nulls": "last"
  101. }
  102. ],
  103. "isUnique": false,
  104. "concurrently": false,
  105. "method": "btree",
  106. "with": {}
  107. },
  108. "accounts_provider_account_idx": {
  109. "name": "accounts_provider_account_idx",
  110. "columns": [
  111. {
  112. "expression": "provider_id",
  113. "isExpression": false,
  114. "asc": true,
  115. "nulls": "last"
  116. },
  117. {
  118. "expression": "account_id",
  119. "isExpression": false,
  120. "asc": true,
  121. "nulls": "last"
  122. }
  123. ],
  124. "isUnique": true,
  125. "concurrently": false,
  126. "method": "btree",
  127. "with": {}
  128. }
  129. },
  130. "foreignKeys": {
  131. "accounts_user_id_users_id_fk": {
  132. "name": "accounts_user_id_users_id_fk",
  133. "tableFrom": "accounts",
  134. "tableTo": "users",
  135. "columnsFrom": ["user_id"],
  136. "columnsTo": ["id"],
  137. "onDelete": "cascade",
  138. "onUpdate": "no action"
  139. }
  140. },
  141. "compositePrimaryKeys": {},
  142. "uniqueConstraints": {},
  143. "policies": {},
  144. "checkConstraints": {},
  145. "isRLSEnabled": false
  146. },
  147. "public.api_keys": {
  148. "name": "api_keys",
  149. "schema": "",
  150. "columns": {
  151. "id": {
  152. "name": "id",
  153. "type": "text",
  154. "primaryKey": true,
  155. "notNull": true
  156. },
  157. "project_id": {
  158. "name": "project_id",
  159. "type": "text",
  160. "primaryKey": false,
  161. "notNull": true
  162. },
  163. "created_by": {
  164. "name": "created_by",
  165. "type": "text",
  166. "primaryKey": false,
  167. "notNull": true
  168. },
  169. "name": {
  170. "name": "name",
  171. "type": "text",
  172. "primaryKey": false,
  173. "notNull": true
  174. },
  175. "hash": {
  176. "name": "hash",
  177. "type": "text",
  178. "primaryKey": false,
  179. "notNull": true
  180. },
  181. "suffix": {
  182. "name": "suffix",
  183. "type": "varchar(4)",
  184. "primaryKey": false,
  185. "notNull": true
  186. },
  187. "last_used_at": {
  188. "name": "last_used_at",
  189. "type": "timestamp with time zone",
  190. "primaryKey": false,
  191. "notNull": false
  192. },
  193. "expires_at": {
  194. "name": "expires_at",
  195. "type": "timestamp with time zone",
  196. "primaryKey": false,
  197. "notNull": false
  198. },
  199. "created_at": {
  200. "name": "created_at",
  201. "type": "timestamp with time zone",
  202. "primaryKey": false,
  203. "notNull": true,
  204. "default": "now()"
  205. },
  206. "revoked_at": {
  207. "name": "revoked_at",
  208. "type": "timestamp with time zone",
  209. "primaryKey": false,
  210. "notNull": false
  211. }
  212. },
  213. "indexes": {
  214. "api_keys_hash_idx": {
  215. "name": "api_keys_hash_idx",
  216. "columns": [
  217. {
  218. "expression": "hash",
  219. "isExpression": false,
  220. "asc": true,
  221. "nulls": "last"
  222. }
  223. ],
  224. "isUnique": true,
  225. "concurrently": false,
  226. "method": "btree",
  227. "with": {}
  228. },
  229. "api_keys_project_idx": {
  230. "name": "api_keys_project_idx",
  231. "columns": [
  232. {
  233. "expression": "project_id",
  234. "isExpression": false,
  235. "asc": true,
  236. "nulls": "last"
  237. }
  238. ],
  239. "isUnique": false,
  240. "concurrently": false,
  241. "method": "btree",
  242. "with": {}
  243. }
  244. },
  245. "foreignKeys": {
  246. "api_keys_project_id_projects_id_fk": {
  247. "name": "api_keys_project_id_projects_id_fk",
  248. "tableFrom": "api_keys",
  249. "tableTo": "projects",
  250. "columnsFrom": ["project_id"],
  251. "columnsTo": ["id"],
  252. "onDelete": "cascade",
  253. "onUpdate": "no action"
  254. },
  255. "api_keys_created_by_users_id_fk": {
  256. "name": "api_keys_created_by_users_id_fk",
  257. "tableFrom": "api_keys",
  258. "tableTo": "users",
  259. "columnsFrom": ["created_by"],
  260. "columnsTo": ["id"],
  261. "onDelete": "no action",
  262. "onUpdate": "no action"
  263. }
  264. },
  265. "compositePrimaryKeys": {},
  266. "uniqueConstraints": {},
  267. "policies": {},
  268. "checkConstraints": {},
  269. "isRLSEnabled": false
  270. },
  271. "public.audit_logs": {
  272. "name": "audit_logs",
  273. "schema": "",
  274. "columns": {
  275. "id": {
  276. "name": "id",
  277. "type": "text",
  278. "primaryKey": true,
  279. "notNull": true
  280. },
  281. "actor_id": {
  282. "name": "actor_id",
  283. "type": "text",
  284. "primaryKey": false,
  285. "notNull": false
  286. },
  287. "project_id": {
  288. "name": "project_id",
  289. "type": "text",
  290. "primaryKey": false,
  291. "notNull": false
  292. },
  293. "action": {
  294. "name": "action",
  295. "type": "text",
  296. "primaryKey": false,
  297. "notNull": true
  298. },
  299. "ip_hash": {
  300. "name": "ip_hash",
  301. "type": "varchar(64)",
  302. "primaryKey": false,
  303. "notNull": false
  304. },
  305. "user_agent": {
  306. "name": "user_agent",
  307. "type": "text",
  308. "primaryKey": false,
  309. "notNull": false
  310. },
  311. "metadata": {
  312. "name": "metadata",
  313. "type": "jsonb",
  314. "primaryKey": false,
  315. "notNull": false
  316. },
  317. "created_at": {
  318. "name": "created_at",
  319. "type": "timestamp with time zone",
  320. "primaryKey": false,
  321. "notNull": true,
  322. "default": "now()"
  323. }
  324. },
  325. "indexes": {
  326. "audit_logs_project_created_idx": {
  327. "name": "audit_logs_project_created_idx",
  328. "columns": [
  329. {
  330. "expression": "project_id",
  331. "isExpression": false,
  332. "asc": true,
  333. "nulls": "last"
  334. },
  335. {
  336. "expression": "created_at",
  337. "isExpression": false,
  338. "asc": true,
  339. "nulls": "last"
  340. }
  341. ],
  342. "isUnique": false,
  343. "concurrently": false,
  344. "method": "btree",
  345. "with": {}
  346. },
  347. "audit_logs_actor_created_idx": {
  348. "name": "audit_logs_actor_created_idx",
  349. "columns": [
  350. {
  351. "expression": "actor_id",
  352. "isExpression": false,
  353. "asc": true,
  354. "nulls": "last"
  355. },
  356. {
  357. "expression": "created_at",
  358. "isExpression": false,
  359. "asc": true,
  360. "nulls": "last"
  361. }
  362. ],
  363. "isUnique": false,
  364. "concurrently": false,
  365. "method": "btree",
  366. "with": {}
  367. }
  368. },
  369. "foreignKeys": {
  370. "audit_logs_actor_id_users_id_fk": {
  371. "name": "audit_logs_actor_id_users_id_fk",
  372. "tableFrom": "audit_logs",
  373. "tableTo": "users",
  374. "columnsFrom": ["actor_id"],
  375. "columnsTo": ["id"],
  376. "onDelete": "no action",
  377. "onUpdate": "no action"
  378. },
  379. "audit_logs_project_id_projects_id_fk": {
  380. "name": "audit_logs_project_id_projects_id_fk",
  381. "tableFrom": "audit_logs",
  382. "tableTo": "projects",
  383. "columnsFrom": ["project_id"],
  384. "columnsTo": ["id"],
  385. "onDelete": "no action",
  386. "onUpdate": "no action"
  387. }
  388. },
  389. "compositePrimaryKeys": {},
  390. "uniqueConstraints": {},
  391. "policies": {},
  392. "checkConstraints": {},
  393. "isRLSEnabled": false
  394. },
  395. "public.deployments": {
  396. "name": "deployments",
  397. "schema": "",
  398. "columns": {
  399. "id": {
  400. "name": "id",
  401. "type": "text",
  402. "primaryKey": true,
  403. "notNull": true
  404. },
  405. "project_id": {
  406. "name": "project_id",
  407. "type": "text",
  408. "primaryKey": false,
  409. "notNull": true
  410. },
  411. "triggered_by": {
  412. "name": "triggered_by",
  413. "type": "text",
  414. "primaryKey": false,
  415. "notNull": false
  416. },
  417. "api_key_id": {
  418. "name": "api_key_id",
  419. "type": "text",
  420. "primaryKey": false,
  421. "notNull": false
  422. },
  423. "status": {
  424. "name": "status",
  425. "type": "text",
  426. "primaryKey": false,
  427. "notNull": true,
  428. "default": "'pending'"
  429. },
  430. "schema_diff_summary": {
  431. "name": "schema_diff_summary",
  432. "type": "jsonb",
  433. "primaryKey": false,
  434. "notNull": false
  435. },
  436. "schema_snapshot": {
  437. "name": "schema_snapshot",
  438. "type": "jsonb",
  439. "primaryKey": false,
  440. "notNull": false
  441. },
  442. "function_count": {
  443. "name": "function_count",
  444. "type": "varchar(12)",
  445. "primaryKey": false,
  446. "notNull": false
  447. },
  448. "function_names": {
  449. "name": "function_names",
  450. "type": "jsonb",
  451. "primaryKey": false,
  452. "notNull": false
  453. },
  454. "bundle": {
  455. "name": "bundle",
  456. "type": "jsonb",
  457. "primaryKey": false,
  458. "notNull": false
  459. },
  460. "error_code": {
  461. "name": "error_code",
  462. "type": "text",
  463. "primaryKey": false,
  464. "notNull": false
  465. },
  466. "error_message": {
  467. "name": "error_message",
  468. "type": "text",
  469. "primaryKey": false,
  470. "notNull": false
  471. },
  472. "started_at": {
  473. "name": "started_at",
  474. "type": "timestamp with time zone",
  475. "primaryKey": false,
  476. "notNull": false
  477. },
  478. "finished_at": {
  479. "name": "finished_at",
  480. "type": "timestamp with time zone",
  481. "primaryKey": false,
  482. "notNull": false
  483. },
  484. "created_at": {
  485. "name": "created_at",
  486. "type": "timestamp with time zone",
  487. "primaryKey": false,
  488. "notNull": true,
  489. "default": "now()"
  490. }
  491. },
  492. "indexes": {
  493. "deployments_project_created_idx": {
  494. "name": "deployments_project_created_idx",
  495. "columns": [
  496. {
  497. "expression": "project_id",
  498. "isExpression": false,
  499. "asc": true,
  500. "nulls": "last"
  501. },
  502. {
  503. "expression": "created_at",
  504. "isExpression": false,
  505. "asc": true,
  506. "nulls": "last"
  507. }
  508. ],
  509. "isUnique": false,
  510. "concurrently": false,
  511. "method": "btree",
  512. "with": {}
  513. },
  514. "deployments_status_idx": {
  515. "name": "deployments_status_idx",
  516. "columns": [
  517. {
  518. "expression": "status",
  519. "isExpression": false,
  520. "asc": true,
  521. "nulls": "last"
  522. }
  523. ],
  524. "isUnique": false,
  525. "concurrently": false,
  526. "method": "btree",
  527. "with": {}
  528. }
  529. },
  530. "foreignKeys": {
  531. "deployments_project_id_projects_id_fk": {
  532. "name": "deployments_project_id_projects_id_fk",
  533. "tableFrom": "deployments",
  534. "tableTo": "projects",
  535. "columnsFrom": ["project_id"],
  536. "columnsTo": ["id"],
  537. "onDelete": "cascade",
  538. "onUpdate": "no action"
  539. },
  540. "deployments_triggered_by_users_id_fk": {
  541. "name": "deployments_triggered_by_users_id_fk",
  542. "tableFrom": "deployments",
  543. "tableTo": "users",
  544. "columnsFrom": ["triggered_by"],
  545. "columnsTo": ["id"],
  546. "onDelete": "no action",
  547. "onUpdate": "no action"
  548. },
  549. "deployments_api_key_id_api_keys_id_fk": {
  550. "name": "deployments_api_key_id_api_keys_id_fk",
  551. "tableFrom": "deployments",
  552. "tableTo": "api_keys",
  553. "columnsFrom": ["api_key_id"],
  554. "columnsTo": ["id"],
  555. "onDelete": "no action",
  556. "onUpdate": "no action"
  557. }
  558. },
  559. "compositePrimaryKeys": {},
  560. "uniqueConstraints": {},
  561. "policies": {},
  562. "checkConstraints": {},
  563. "isRLSEnabled": false
  564. },
  565. "public.project_env_vars": {
  566. "name": "project_env_vars",
  567. "schema": "",
  568. "columns": {
  569. "id": {
  570. "name": "id",
  571. "type": "text",
  572. "primaryKey": true,
  573. "notNull": true
  574. },
  575. "project_id": {
  576. "name": "project_id",
  577. "type": "text",
  578. "primaryKey": false,
  579. "notNull": true
  580. },
  581. "key": {
  582. "name": "key",
  583. "type": "text",
  584. "primaryKey": false,
  585. "notNull": true
  586. },
  587. "encrypted_value": {
  588. "name": "encrypted_value",
  589. "type": "text",
  590. "primaryKey": false,
  591. "notNull": true
  592. },
  593. "created_by": {
  594. "name": "created_by",
  595. "type": "text",
  596. "primaryKey": false,
  597. "notNull": false
  598. },
  599. "created_at": {
  600. "name": "created_at",
  601. "type": "timestamp with time zone",
  602. "primaryKey": false,
  603. "notNull": true,
  604. "default": "now()"
  605. },
  606. "updated_at": {
  607. "name": "updated_at",
  608. "type": "timestamp with time zone",
  609. "primaryKey": false,
  610. "notNull": true,
  611. "default": "now()"
  612. }
  613. },
  614. "indexes": {
  615. "project_env_vars_project_key_idx": {
  616. "name": "project_env_vars_project_key_idx",
  617. "columns": [
  618. {
  619. "expression": "project_id",
  620. "isExpression": false,
  621. "asc": true,
  622. "nulls": "last"
  623. },
  624. {
  625. "expression": "key",
  626. "isExpression": false,
  627. "asc": true,
  628. "nulls": "last"
  629. }
  630. ],
  631. "isUnique": true,
  632. "concurrently": false,
  633. "method": "btree",
  634. "with": {}
  635. }
  636. },
  637. "foreignKeys": {
  638. "project_env_vars_project_id_projects_id_fk": {
  639. "name": "project_env_vars_project_id_projects_id_fk",
  640. "tableFrom": "project_env_vars",
  641. "tableTo": "projects",
  642. "columnsFrom": ["project_id"],
  643. "columnsTo": ["id"],
  644. "onDelete": "cascade",
  645. "onUpdate": "no action"
  646. },
  647. "project_env_vars_created_by_users_id_fk": {
  648. "name": "project_env_vars_created_by_users_id_fk",
  649. "tableFrom": "project_env_vars",
  650. "tableTo": "users",
  651. "columnsFrom": ["created_by"],
  652. "columnsTo": ["id"],
  653. "onDelete": "no action",
  654. "onUpdate": "no action"
  655. }
  656. },
  657. "compositePrimaryKeys": {},
  658. "uniqueConstraints": {},
  659. "policies": {},
  660. "checkConstraints": {},
  661. "isRLSEnabled": false
  662. },
  663. "public.project_members": {
  664. "name": "project_members",
  665. "schema": "",
  666. "columns": {
  667. "project_id": {
  668. "name": "project_id",
  669. "type": "text",
  670. "primaryKey": false,
  671. "notNull": true
  672. },
  673. "user_id": {
  674. "name": "user_id",
  675. "type": "text",
  676. "primaryKey": false,
  677. "notNull": true
  678. },
  679. "role": {
  680. "name": "role",
  681. "type": "text",
  682. "primaryKey": false,
  683. "notNull": true,
  684. "default": "'developer'"
  685. },
  686. "created_at": {
  687. "name": "created_at",
  688. "type": "timestamp with time zone",
  689. "primaryKey": false,
  690. "notNull": true,
  691. "default": "now()"
  692. },
  693. "updated_at": {
  694. "name": "updated_at",
  695. "type": "timestamp with time zone",
  696. "primaryKey": false,
  697. "notNull": true,
  698. "default": "now()"
  699. }
  700. },
  701. "indexes": {},
  702. "foreignKeys": {
  703. "project_members_project_id_projects_id_fk": {
  704. "name": "project_members_project_id_projects_id_fk",
  705. "tableFrom": "project_members",
  706. "tableTo": "projects",
  707. "columnsFrom": ["project_id"],
  708. "columnsTo": ["id"],
  709. "onDelete": "cascade",
  710. "onUpdate": "no action"
  711. },
  712. "project_members_user_id_users_id_fk": {
  713. "name": "project_members_user_id_users_id_fk",
  714. "tableFrom": "project_members",
  715. "tableTo": "users",
  716. "columnsFrom": ["user_id"],
  717. "columnsTo": ["id"],
  718. "onDelete": "cascade",
  719. "onUpdate": "no action"
  720. }
  721. },
  722. "compositePrimaryKeys": {
  723. "project_members_project_id_user_id_pk": {
  724. "name": "project_members_project_id_user_id_pk",
  725. "columns": ["project_id", "user_id"]
  726. }
  727. },
  728. "uniqueConstraints": {},
  729. "policies": {},
  730. "checkConstraints": {},
  731. "isRLSEnabled": false
  732. },
  733. "public.projects": {
  734. "name": "projects",
  735. "schema": "",
  736. "columns": {
  737. "id": {
  738. "name": "id",
  739. "type": "text",
  740. "primaryKey": true,
  741. "notNull": true
  742. },
  743. "slug": {
  744. "name": "slug",
  745. "type": "text",
  746. "primaryKey": false,
  747. "notNull": true
  748. },
  749. "name": {
  750. "name": "name",
  751. "type": "text",
  752. "primaryKey": false,
  753. "notNull": true
  754. },
  755. "owner_id": {
  756. "name": "owner_id",
  757. "type": "text",
  758. "primaryKey": false,
  759. "notNull": true
  760. },
  761. "region": {
  762. "name": "region",
  763. "type": "text",
  764. "primaryKey": false,
  765. "notNull": true,
  766. "default": "'eu-west-1'"
  767. },
  768. "tier": {
  769. "name": "tier",
  770. "type": "text",
  771. "primaryKey": false,
  772. "notNull": true,
  773. "default": "'free'"
  774. },
  775. "shard_id": {
  776. "name": "shard_id",
  777. "type": "text",
  778. "primaryKey": false,
  779. "notNull": false
  780. },
  781. "data_schema_name": {
  782. "name": "data_schema_name",
  783. "type": "text",
  784. "primaryKey": false,
  785. "notNull": false
  786. },
  787. "created_at": {
  788. "name": "created_at",
  789. "type": "timestamp with time zone",
  790. "primaryKey": false,
  791. "notNull": true,
  792. "default": "now()"
  793. },
  794. "updated_at": {
  795. "name": "updated_at",
  796. "type": "timestamp with time zone",
  797. "primaryKey": false,
  798. "notNull": true,
  799. "default": "now()"
  800. },
  801. "deleted_at": {
  802. "name": "deleted_at",
  803. "type": "timestamp with time zone",
  804. "primaryKey": false,
  805. "notNull": false
  806. }
  807. },
  808. "indexes": {
  809. "projects_slug_idx": {
  810. "name": "projects_slug_idx",
  811. "columns": [
  812. {
  813. "expression": "slug",
  814. "isExpression": false,
  815. "asc": true,
  816. "nulls": "last"
  817. }
  818. ],
  819. "isUnique": true,
  820. "concurrently": false,
  821. "method": "btree",
  822. "with": {}
  823. },
  824. "projects_owner_idx": {
  825. "name": "projects_owner_idx",
  826. "columns": [
  827. {
  828. "expression": "owner_id",
  829. "isExpression": false,
  830. "asc": true,
  831. "nulls": "last"
  832. }
  833. ],
  834. "isUnique": false,
  835. "concurrently": false,
  836. "method": "btree",
  837. "with": {}
  838. }
  839. },
  840. "foreignKeys": {
  841. "projects_owner_id_users_id_fk": {
  842. "name": "projects_owner_id_users_id_fk",
  843. "tableFrom": "projects",
  844. "tableTo": "users",
  845. "columnsFrom": ["owner_id"],
  846. "columnsTo": ["id"],
  847. "onDelete": "no action",
  848. "onUpdate": "no action"
  849. }
  850. },
  851. "compositePrimaryKeys": {},
  852. "uniqueConstraints": {},
  853. "policies": {},
  854. "checkConstraints": {},
  855. "isRLSEnabled": false
  856. },
  857. "public.sessions": {
  858. "name": "sessions",
  859. "schema": "",
  860. "columns": {
  861. "id": {
  862. "name": "id",
  863. "type": "text",
  864. "primaryKey": true,
  865. "notNull": true
  866. },
  867. "user_id": {
  868. "name": "user_id",
  869. "type": "text",
  870. "primaryKey": false,
  871. "notNull": true
  872. },
  873. "token": {
  874. "name": "token",
  875. "type": "text",
  876. "primaryKey": false,
  877. "notNull": true
  878. },
  879. "expires_at": {
  880. "name": "expires_at",
  881. "type": "timestamp with time zone",
  882. "primaryKey": false,
  883. "notNull": true
  884. },
  885. "ip_address": {
  886. "name": "ip_address",
  887. "type": "text",
  888. "primaryKey": false,
  889. "notNull": false
  890. },
  891. "user_agent": {
  892. "name": "user_agent",
  893. "type": "text",
  894. "primaryKey": false,
  895. "notNull": false
  896. },
  897. "created_at": {
  898. "name": "created_at",
  899. "type": "timestamp with time zone",
  900. "primaryKey": false,
  901. "notNull": true,
  902. "default": "now()"
  903. },
  904. "updated_at": {
  905. "name": "updated_at",
  906. "type": "timestamp with time zone",
  907. "primaryKey": false,
  908. "notNull": true,
  909. "default": "now()"
  910. }
  911. },
  912. "indexes": {
  913. "sessions_token_idx": {
  914. "name": "sessions_token_idx",
  915. "columns": [
  916. {
  917. "expression": "token",
  918. "isExpression": false,
  919. "asc": true,
  920. "nulls": "last"
  921. }
  922. ],
  923. "isUnique": true,
  924. "concurrently": false,
  925. "method": "btree",
  926. "with": {}
  927. },
  928. "sessions_user_id_idx": {
  929. "name": "sessions_user_id_idx",
  930. "columns": [
  931. {
  932. "expression": "user_id",
  933. "isExpression": false,
  934. "asc": true,
  935. "nulls": "last"
  936. }
  937. ],
  938. "isUnique": false,
  939. "concurrently": false,
  940. "method": "btree",
  941. "with": {}
  942. }
  943. },
  944. "foreignKeys": {
  945. "sessions_user_id_users_id_fk": {
  946. "name": "sessions_user_id_users_id_fk",
  947. "tableFrom": "sessions",
  948. "tableTo": "users",
  949. "columnsFrom": ["user_id"],
  950. "columnsTo": ["id"],
  951. "onDelete": "cascade",
  952. "onUpdate": "no action"
  953. }
  954. },
  955. "compositePrimaryKeys": {},
  956. "uniqueConstraints": {},
  957. "policies": {},
  958. "checkConstraints": {},
  959. "isRLSEnabled": false
  960. },
  961. "public.users": {
  962. "name": "users",
  963. "schema": "",
  964. "columns": {
  965. "id": {
  966. "name": "id",
  967. "type": "text",
  968. "primaryKey": true,
  969. "notNull": true
  970. },
  971. "email": {
  972. "name": "email",
  973. "type": "text",
  974. "primaryKey": false,
  975. "notNull": true
  976. },
  977. "email_verified": {
  978. "name": "email_verified",
  979. "type": "boolean",
  980. "primaryKey": false,
  981. "notNull": true,
  982. "default": false
  983. },
  984. "name": {
  985. "name": "name",
  986. "type": "text",
  987. "primaryKey": false,
  988. "notNull": false
  989. },
  990. "image": {
  991. "name": "image",
  992. "type": "text",
  993. "primaryKey": false,
  994. "notNull": false
  995. },
  996. "created_at": {
  997. "name": "created_at",
  998. "type": "timestamp with time zone",
  999. "primaryKey": false,
  1000. "notNull": true,
  1001. "default": "now()"
  1002. },
  1003. "updated_at": {
  1004. "name": "updated_at",
  1005. "type": "timestamp with time zone",
  1006. "primaryKey": false,
  1007. "notNull": true,
  1008. "default": "now()"
  1009. },
  1010. "deleted_at": {
  1011. "name": "deleted_at",
  1012. "type": "timestamp with time zone",
  1013. "primaryKey": false,
  1014. "notNull": false
  1015. }
  1016. },
  1017. "indexes": {
  1018. "users_email_idx": {
  1019. "name": "users_email_idx",
  1020. "columns": [
  1021. {
  1022. "expression": "email",
  1023. "isExpression": false,
  1024. "asc": true,
  1025. "nulls": "last"
  1026. }
  1027. ],
  1028. "isUnique": true,
  1029. "concurrently": false,
  1030. "method": "btree",
  1031. "with": {}
  1032. }
  1033. },
  1034. "foreignKeys": {},
  1035. "compositePrimaryKeys": {},
  1036. "uniqueConstraints": {},
  1037. "policies": {},
  1038. "checkConstraints": {},
  1039. "isRLSEnabled": false
  1040. },
  1041. "public.verifications": {
  1042. "name": "verifications",
  1043. "schema": "",
  1044. "columns": {
  1045. "id": {
  1046. "name": "id",
  1047. "type": "text",
  1048. "primaryKey": true,
  1049. "notNull": true
  1050. },
  1051. "identifier": {
  1052. "name": "identifier",
  1053. "type": "text",
  1054. "primaryKey": false,
  1055. "notNull": true
  1056. },
  1057. "value": {
  1058. "name": "value",
  1059. "type": "text",
  1060. "primaryKey": false,
  1061. "notNull": true
  1062. },
  1063. "expires_at": {
  1064. "name": "expires_at",
  1065. "type": "timestamp with time zone",
  1066. "primaryKey": false,
  1067. "notNull": true
  1068. },
  1069. "created_at": {
  1070. "name": "created_at",
  1071. "type": "timestamp with time zone",
  1072. "primaryKey": false,
  1073. "notNull": true,
  1074. "default": "now()"
  1075. },
  1076. "updated_at": {
  1077. "name": "updated_at",
  1078. "type": "timestamp with time zone",
  1079. "primaryKey": false,
  1080. "notNull": true,
  1081. "default": "now()"
  1082. }
  1083. },
  1084. "indexes": {
  1085. "verifications_identifier_idx": {
  1086. "name": "verifications_identifier_idx",
  1087. "columns": [
  1088. {
  1089. "expression": "identifier",
  1090. "isExpression": false,
  1091. "asc": true,
  1092. "nulls": "last"
  1093. }
  1094. ],
  1095. "isUnique": false,
  1096. "concurrently": false,
  1097. "method": "btree",
  1098. "with": {}
  1099. }
  1100. },
  1101. "foreignKeys": {},
  1102. "compositePrimaryKeys": {},
  1103. "uniqueConstraints": {},
  1104. "policies": {},
  1105. "checkConstraints": {},
  1106. "isRLSEnabled": false
  1107. }
  1108. },
  1109. "enums": {},
  1110. "schemas": {},
  1111. "sequences": {},
  1112. "roles": {},
  1113. "policies": {},
  1114. "views": {},
  1115. "_meta": {
  1116. "columns": {},
  1117. "schemas": {},
  1118. "tables": {}
  1119. }
  1120. }