drizzle-orm 0.11.5 → 0.12.0-beta.1

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 (410) hide show
  1. package/branded-types.d.ts +18 -0
  2. package/branded-types.js +6 -0
  3. package/branded-types.js.map +1 -0
  4. package/column-builder.d.ts +14 -0
  5. package/column-builder.js +24 -0
  6. package/column-builder.js.map +1 -0
  7. package/column.d.ts +37 -0
  8. package/column.js +41 -0
  9. package/column.js.map +1 -0
  10. package/connection.d.ts +29 -0
  11. package/connection.js +91 -0
  12. package/connection.js.map +1 -0
  13. package/expressions.d.ts +1 -0
  14. package/expressions.js +18 -0
  15. package/expressions.js.map +1 -0
  16. package/index.d.ts +4 -13
  17. package/index.js +11 -24
  18. package/index.js.map +1 -1
  19. package/operations.d.ts +13 -0
  20. package/{tables/inferTypes.js → operations.js} +1 -1
  21. package/operations.js.map +1 -0
  22. package/package.json +58 -27
  23. package/sql/expressions/conditions.d.ts +33 -0
  24. package/sql/expressions/conditions.js +140 -0
  25. package/sql/expressions/conditions.js.map +1 -0
  26. package/sql/expressions/index.d.ts +2 -0
  27. package/sql/expressions/index.js +19 -0
  28. package/sql/expressions/index.js.map +1 -0
  29. package/sql/expressions/select.d.ts +5 -0
  30. package/sql/expressions/select.js +13 -0
  31. package/sql/expressions/select.js.map +1 -0
  32. package/sql/index.d.ts +97 -0
  33. package/sql/index.js +172 -0
  34. package/sql/index.js.map +1 -0
  35. package/table.d.ts +10 -0
  36. package/table.js +36 -0
  37. package/table.js.map +1 -0
  38. package/utils.d.ts +7 -0
  39. package/utils.js +18 -0
  40. package/utils.js.map +1 -0
  41. package/LICENSE +0 -674
  42. package/README.md +0 -343
  43. package/builders/aggregators/abstractAggregator.d.ts +0 -12
  44. package/builders/aggregators/abstractAggregator.js +0 -52
  45. package/builders/aggregators/abstractAggregator.js.map +0 -1
  46. package/builders/aggregators/deleteAggregator.d.ts +0 -16
  47. package/builders/aggregators/deleteAggregator.js +0 -43
  48. package/builders/aggregators/deleteAggregator.js.map +0 -1
  49. package/builders/aggregators/insertAggregator.d.ts +0 -22
  50. package/builders/aggregators/insertAggregator.js +0 -110
  51. package/builders/aggregators/insertAggregator.js.map +0 -1
  52. package/builders/aggregators/selectAggregator.d.ts +0 -33
  53. package/builders/aggregators/selectAggregator.js +0 -111
  54. package/builders/aggregators/selectAggregator.js.map +0 -1
  55. package/builders/aggregators/selectAggregatorV1.d.ts +0 -39
  56. package/builders/aggregators/selectAggregatorV1.js +0 -144
  57. package/builders/aggregators/selectAggregatorV1.js.map +0 -1
  58. package/builders/aggregators/updateAggregator.d.ts +0 -19
  59. package/builders/aggregators/updateAggregator.js +0 -54
  60. package/builders/aggregators/updateAggregator.js.map +0 -1
  61. package/builders/highLvlBuilders/abstractRequestBuilder.d.ts +0 -27
  62. package/builders/highLvlBuilders/abstractRequestBuilder.js +0 -34
  63. package/builders/highLvlBuilders/abstractRequestBuilder.js.map +0 -1
  64. package/builders/highLvlBuilders/deleteRequestBuilder.d.ts +0 -19
  65. package/builders/highLvlBuilders/deleteRequestBuilder.js +0 -62
  66. package/builders/highLvlBuilders/deleteRequestBuilder.js.map +0 -1
  67. package/builders/highLvlBuilders/insertRequestBuilder.d.ts +0 -20
  68. package/builders/highLvlBuilders/insertRequestBuilder.js +0 -74
  69. package/builders/highLvlBuilders/insertRequestBuilder.js.map +0 -1
  70. package/builders/highLvlBuilders/joins/joinBuilderResponse.d.ts +0 -8
  71. package/builders/highLvlBuilders/joins/joinBuilderResponse.js +0 -17
  72. package/builders/highLvlBuilders/joins/joinBuilderResponse.js.map +0 -1
  73. package/builders/highLvlBuilders/joins/proxies/joinProxies.d.ts +0 -16
  74. package/builders/highLvlBuilders/joins/proxies/joinProxies.js +0 -48
  75. package/builders/highLvlBuilders/joins/proxies/joinProxies.js.map +0 -1
  76. package/builders/highLvlBuilders/joins/selectJoinBuilder.d.ts +0 -44
  77. package/builders/highLvlBuilders/joins/selectJoinBuilder.js +0 -114
  78. package/builders/highLvlBuilders/joins/selectJoinBuilder.js.map +0 -1
  79. package/builders/highLvlBuilders/order.d.ts +0 -5
  80. package/builders/highLvlBuilders/order.js +0 -9
  81. package/builders/highLvlBuilders/order.js.map +0 -1
  82. package/builders/highLvlBuilders/selectRequestBuilder.d.ts +0 -63
  83. package/builders/highLvlBuilders/selectRequestBuilder.js +0 -171
  84. package/builders/highLvlBuilders/selectRequestBuilder.js.map +0 -1
  85. package/builders/highLvlBuilders/updateRequestBuilder.d.ts +0 -22
  86. package/builders/highLvlBuilders/updateRequestBuilder.js +0 -81
  87. package/builders/highLvlBuilders/updateRequestBuilder.js.map +0 -1
  88. package/builders/index.d.ts +0 -21
  89. package/builders/index.js +0 -69
  90. package/builders/index.js.map +0 -1
  91. package/builders/joinBuilders/builders/abstractJoinBuilder.d.ts +0 -42
  92. package/builders/joinBuilders/builders/abstractJoinBuilder.js +0 -82
  93. package/builders/joinBuilders/builders/abstractJoinBuilder.js.map +0 -1
  94. package/builders/joinBuilders/builders/selectWithFiveJoins.d.ts +0 -36
  95. package/builders/joinBuilders/builders/selectWithFiveJoins.js +0 -46
  96. package/builders/joinBuilders/builders/selectWithFiveJoins.js.map +0 -1
  97. package/builders/joinBuilders/builders/selectWithFourJoins.d.ts +0 -56
  98. package/builders/joinBuilders/builders/selectWithFourJoins.js +0 -79
  99. package/builders/joinBuilders/builders/selectWithFourJoins.js.map +0 -1
  100. package/builders/joinBuilders/builders/selectWithJoin.d.ts +0 -50
  101. package/builders/joinBuilders/builders/selectWithJoin.js +0 -65
  102. package/builders/joinBuilders/builders/selectWithJoin.js.map +0 -1
  103. package/builders/joinBuilders/builders/selectWithThreeJoins.d.ts +0 -54
  104. package/builders/joinBuilders/builders/selectWithThreeJoins.js +0 -74
  105. package/builders/joinBuilders/builders/selectWithThreeJoins.js.map +0 -1
  106. package/builders/joinBuilders/builders/selectWithTwoJoins.d.ts +0 -52
  107. package/builders/joinBuilders/builders/selectWithTwoJoins.js +0 -72
  108. package/builders/joinBuilders/builders/selectWithTwoJoins.js.map +0 -1
  109. package/builders/joinBuilders/join.d.ts +0 -23
  110. package/builders/joinBuilders/join.js +0 -29
  111. package/builders/joinBuilders/join.js.map +0 -1
  112. package/builders/joinBuilders/joinWith.d.ts +0 -14
  113. package/builders/joinBuilders/joinWith.js +0 -15
  114. package/builders/joinBuilders/joinWith.js.map +0 -1
  115. package/builders/joinBuilders/responses/selectResponseFiveJoins.d.ts +0 -20
  116. package/builders/joinBuilders/responses/selectResponseFiveJoins.js +0 -36
  117. package/builders/joinBuilders/responses/selectResponseFiveJoins.js.map +0 -1
  118. package/builders/joinBuilders/responses/selectResponseFourJoins.d.ts +0 -19
  119. package/builders/joinBuilders/responses/selectResponseFourJoins.js +0 -35
  120. package/builders/joinBuilders/responses/selectResponseFourJoins.js.map +0 -1
  121. package/builders/joinBuilders/responses/selectResponseThreeJoins.d.ts +0 -18
  122. package/builders/joinBuilders/responses/selectResponseThreeJoins.js +0 -34
  123. package/builders/joinBuilders/responses/selectResponseThreeJoins.js.map +0 -1
  124. package/builders/joinBuilders/responses/selectResponseTwoJoins.d.ts +0 -17
  125. package/builders/joinBuilders/responses/selectResponseTwoJoins.js +0 -33
  126. package/builders/joinBuilders/responses/selectResponseTwoJoins.js.map +0 -1
  127. package/builders/joinBuilders/responses/selectResponseWithJoin.d.ts +0 -16
  128. package/builders/joinBuilders/responses/selectResponseWithJoin.js +0 -32
  129. package/builders/joinBuilders/responses/selectResponseWithJoin.js.map +0 -1
  130. package/builders/joinBuilders/static.d.ts +0 -5
  131. package/builders/joinBuilders/static.js +0 -10
  132. package/builders/joinBuilders/static.js.map +0 -1
  133. package/builders/lowLvlBuilders/alter.d.ts +0 -0
  134. package/builders/lowLvlBuilders/alter.js +0 -2
  135. package/builders/lowLvlBuilders/alter.js.map +0 -1
  136. package/builders/lowLvlBuilders/create.d.ts +0 -12
  137. package/builders/lowLvlBuilders/create.js +0 -101
  138. package/builders/lowLvlBuilders/create.js.map +0 -1
  139. package/builders/lowLvlBuilders/delets/delete.d.ts +0 -5
  140. package/builders/lowLvlBuilders/delets/delete.js +0 -16
  141. package/builders/lowLvlBuilders/delets/delete.js.map +0 -1
  142. package/builders/lowLvlBuilders/delets/deleteFilter.d.ts +0 -11
  143. package/builders/lowLvlBuilders/delets/deleteFilter.js +0 -14
  144. package/builders/lowLvlBuilders/delets/deleteFilter.js.map +0 -1
  145. package/builders/lowLvlBuilders/delets/deleteFrom.d.ts +0 -12
  146. package/builders/lowLvlBuilders/delets/deleteFrom.js +0 -15
  147. package/builders/lowLvlBuilders/delets/deleteFrom.js.map +0 -1
  148. package/builders/lowLvlBuilders/inserts/insert.d.ts +0 -5
  149. package/builders/lowLvlBuilders/inserts/insert.js +0 -16
  150. package/builders/lowLvlBuilders/inserts/insert.js.map +0 -1
  151. package/builders/lowLvlBuilders/inserts/insertInto.d.ts +0 -13
  152. package/builders/lowLvlBuilders/inserts/insertInto.js +0 -17
  153. package/builders/lowLvlBuilders/inserts/insertInto.js.map +0 -1
  154. package/builders/lowLvlBuilders/inserts/onConflictInsert.d.ts +0 -12
  155. package/builders/lowLvlBuilders/inserts/onConflictInsert.js +0 -14
  156. package/builders/lowLvlBuilders/inserts/onConflictInsert.js.map +0 -1
  157. package/builders/lowLvlBuilders/inserts/valuesInsert.d.ts +0 -16
  158. package/builders/lowLvlBuilders/inserts/valuesInsert.js +0 -20
  159. package/builders/lowLvlBuilders/inserts/valuesInsert.js.map +0 -1
  160. package/builders/lowLvlBuilders/selects/select.d.ts +0 -12
  161. package/builders/lowLvlBuilders/selects/select.js +0 -43
  162. package/builders/lowLvlBuilders/selects/select.js.map +0 -1
  163. package/builders/lowLvlBuilders/selects/selectFrom.d.ts +0 -45
  164. package/builders/lowLvlBuilders/selects/selectFrom.js +0 -79
  165. package/builders/lowLvlBuilders/selects/selectFrom.js.map +0 -1
  166. package/builders/lowLvlBuilders/selects/selectJoined.d.ts +0 -42
  167. package/builders/lowLvlBuilders/selects/selectJoined.js +0 -72
  168. package/builders/lowLvlBuilders/selects/selectJoined.js.map +0 -1
  169. package/builders/lowLvlBuilders/selects/whereSelect.d.ts +0 -30
  170. package/builders/lowLvlBuilders/selects/whereSelect.js +0 -50
  171. package/builders/lowLvlBuilders/selects/whereSelect.js.map +0 -1
  172. package/builders/lowLvlBuilders/updates/update.d.ts +0 -5
  173. package/builders/lowLvlBuilders/updates/update.js +0 -16
  174. package/builders/lowLvlBuilders/updates/update.js.map +0 -1
  175. package/builders/lowLvlBuilders/updates/updateIn.d.ts +0 -13
  176. package/builders/lowLvlBuilders/updates/updateIn.js +0 -16
  177. package/builders/lowLvlBuilders/updates/updateIn.js.map +0 -1
  178. package/builders/lowLvlBuilders/updates/whereSelect.d.ts +0 -11
  179. package/builders/lowLvlBuilders/updates/whereSelect.js +0 -14
  180. package/builders/lowLvlBuilders/updates/whereSelect.js.map +0 -1
  181. package/builders/lowLvlBuilders/updates/whereSet.d.ts +0 -14
  182. package/builders/lowLvlBuilders/updates/whereSet.js +0 -19
  183. package/builders/lowLvlBuilders/updates/whereSet.js.map +0 -1
  184. package/builders/requestBuilders/updates/combine.d.ts +0 -13
  185. package/builders/requestBuilders/updates/combine.js +0 -27
  186. package/builders/requestBuilders/updates/combine.js.map +0 -1
  187. package/builders/requestBuilders/updates/increment.d.ts +0 -17
  188. package/builders/requestBuilders/updates/increment.js +0 -19
  189. package/builders/requestBuilders/updates/increment.js.map +0 -1
  190. package/builders/requestBuilders/updates/setObjects.d.ts +0 -16
  191. package/builders/requestBuilders/updates/setObjects.js +0 -20
  192. package/builders/requestBuilders/updates/setObjects.js.map +0 -1
  193. package/builders/requestBuilders/updates/static.d.ts +0 -7
  194. package/builders/requestBuilders/updates/static.js +0 -16
  195. package/builders/requestBuilders/updates/static.js.map +0 -1
  196. package/builders/requestBuilders/updates/updates.d.ts +0 -13
  197. package/builders/requestBuilders/updates/updates.js +0 -10
  198. package/builders/requestBuilders/updates/updates.js.map +0 -1
  199. package/builders/requestBuilders/where/and.d.ts +0 -23
  200. package/builders/requestBuilders/where/and.js +0 -49
  201. package/builders/requestBuilders/where/and.js.map +0 -1
  202. package/builders/requestBuilders/where/const.d.ts +0 -20
  203. package/builders/requestBuilders/where/const.js +0 -35
  204. package/builders/requestBuilders/where/const.js.map +0 -1
  205. package/builders/requestBuilders/where/constArray.d.ts +0 -20
  206. package/builders/requestBuilders/where/constArray.js +0 -65
  207. package/builders/requestBuilders/where/constArray.js.map +0 -1
  208. package/builders/requestBuilders/where/eqWhere.d.ts +0 -27
  209. package/builders/requestBuilders/where/eqWhere.js +0 -26
  210. package/builders/requestBuilders/where/eqWhere.js.map +0 -1
  211. package/builders/requestBuilders/where/greater.d.ts +0 -27
  212. package/builders/requestBuilders/where/greater.js +0 -26
  213. package/builders/requestBuilders/where/greater.js.map +0 -1
  214. package/builders/requestBuilders/where/greaterEq.d.ts +0 -27
  215. package/builders/requestBuilders/where/greaterEq.js +0 -26
  216. package/builders/requestBuilders/where/greaterEq.js.map +0 -1
  217. package/builders/requestBuilders/where/in.d.ts +0 -24
  218. package/builders/requestBuilders/where/in.js +0 -26
  219. package/builders/requestBuilders/where/in.js.map +0 -1
  220. package/builders/requestBuilders/where/isNotNull.d.ts +0 -23
  221. package/builders/requestBuilders/where/isNotNull.js +0 -23
  222. package/builders/requestBuilders/where/isNotNull.js.map +0 -1
  223. package/builders/requestBuilders/where/isNull.d.ts +0 -23
  224. package/builders/requestBuilders/where/isNull.js +0 -23
  225. package/builders/requestBuilders/where/isNull.js.map +0 -1
  226. package/builders/requestBuilders/where/less.d.ts +0 -27
  227. package/builders/requestBuilders/where/less.js +0 -26
  228. package/builders/requestBuilders/where/less.js.map +0 -1
  229. package/builders/requestBuilders/where/lessEq.d.ts +0 -27
  230. package/builders/requestBuilders/where/lessEq.js +0 -26
  231. package/builders/requestBuilders/where/lessEq.js.map +0 -1
  232. package/builders/requestBuilders/where/like.d.ts +0 -24
  233. package/builders/requestBuilders/where/like.js +0 -26
  234. package/builders/requestBuilders/where/like.js.map +0 -1
  235. package/builders/requestBuilders/where/notEqWhere.d.ts +0 -24
  236. package/builders/requestBuilders/where/notEqWhere.js +0 -26
  237. package/builders/requestBuilders/where/notEqWhere.js.map +0 -1
  238. package/builders/requestBuilders/where/or.d.ts +0 -23
  239. package/builders/requestBuilders/where/or.js +0 -49
  240. package/builders/requestBuilders/where/or.js.map +0 -1
  241. package/builders/requestBuilders/where/rawWhere.d.ts +0 -23
  242. package/builders/requestBuilders/where/rawWhere.js +0 -17
  243. package/builders/requestBuilders/where/rawWhere.js.map +0 -1
  244. package/builders/requestBuilders/where/static.d.ts +0 -21
  245. package/builders/requestBuilders/where/static.js +0 -57
  246. package/builders/requestBuilders/where/static.js.map +0 -1
  247. package/builders/requestBuilders/where/var.d.ts +0 -25
  248. package/builders/requestBuilders/where/var.js +0 -23
  249. package/builders/requestBuilders/where/var.js.map +0 -1
  250. package/builders/requestBuilders/where/where.d.ts +0 -20
  251. package/builders/requestBuilders/where/where.js +0 -6
  252. package/builders/requestBuilders/where/where.js.map +0 -1
  253. package/builders/transaction/transaction.d.ts +0 -8
  254. package/builders/transaction/transaction.js +0 -21
  255. package/builders/transaction/transaction.js.map +0 -1
  256. package/columns/column.d.ts +0 -81
  257. package/columns/column.js +0 -119
  258. package/columns/column.js.map +0 -1
  259. package/columns/index.d.ts +0 -10
  260. package/columns/index.js +0 -30
  261. package/columns/index.js.map +0 -1
  262. package/columns/types/columnType.d.ts +0 -7
  263. package/columns/types/columnType.js +0 -7
  264. package/columns/types/columnType.js.map +0 -1
  265. package/columns/types/pgBigDecimal.d.ts +0 -10
  266. package/columns/types/pgBigDecimal.js +0 -32
  267. package/columns/types/pgBigDecimal.js.map +0 -1
  268. package/columns/types/pgBigInt.d.ts +0 -15
  269. package/columns/types/pgBigInt.js +0 -33
  270. package/columns/types/pgBigInt.js.map +0 -1
  271. package/columns/types/pgBigSerial.d.ts +0 -15
  272. package/columns/types/pgBigSerial.js +0 -33
  273. package/columns/types/pgBigSerial.js.map +0 -1
  274. package/columns/types/pgBoolean.d.ts +0 -8
  275. package/columns/types/pgBoolean.js +0 -19
  276. package/columns/types/pgBoolean.js.map +0 -1
  277. package/columns/types/pgEnum.d.ts +0 -9
  278. package/columns/types/pgEnum.js +0 -19
  279. package/columns/types/pgEnum.js.map +0 -1
  280. package/columns/types/pgInteger.d.ts +0 -8
  281. package/columns/types/pgInteger.js +0 -22
  282. package/columns/types/pgInteger.js.map +0 -1
  283. package/columns/types/pgJsonb.d.ts +0 -9
  284. package/columns/types/pgJsonb.js +0 -21
  285. package/columns/types/pgJsonb.js.map +0 -1
  286. package/columns/types/pgSerial.d.ts +0 -8
  287. package/columns/types/pgSerial.js +0 -19
  288. package/columns/types/pgSerial.js.map +0 -1
  289. package/columns/types/pgSmallInt.d.ts +0 -8
  290. package/columns/types/pgSmallInt.js +0 -19
  291. package/columns/types/pgSmallInt.js.map +0 -1
  292. package/columns/types/pgText.d.ts +0 -8
  293. package/columns/types/pgText.js +0 -19
  294. package/columns/types/pgText.js.map +0 -1
  295. package/columns/types/pgTime.d.ts +0 -8
  296. package/columns/types/pgTime.js +0 -19
  297. package/columns/types/pgTime.js.map +0 -1
  298. package/columns/types/pgTimestamp.d.ts +0 -8
  299. package/columns/types/pgTimestamp.js +0 -19
  300. package/columns/types/pgTimestamp.js.map +0 -1
  301. package/columns/types/pgTimestamptz.d.ts +0 -8
  302. package/columns/types/pgTimestamptz.js +0 -19
  303. package/columns/types/pgTimestamptz.js.map +0 -1
  304. package/columns/types/pgVarChar.d.ts +0 -9
  305. package/columns/types/pgVarChar.js +0 -25
  306. package/columns/types/pgVarChar.js.map +0 -1
  307. package/db/db.d.ts +0 -18
  308. package/db/db.js +0 -26
  309. package/db/db.js.map +0 -1
  310. package/db/dbConnector.d.ts +0 -9
  311. package/db/dbConnector.js +0 -33
  312. package/db/dbConnector.js.map +0 -1
  313. package/db/dbStringConnector.d.ts +0 -6
  314. package/db/dbStringConnector.js +0 -30
  315. package/db/dbStringConnector.js.map +0 -1
  316. package/db/group_by.d.ts +0 -0
  317. package/db/group_by.js +0 -69
  318. package/db/group_by.js.map +0 -1
  319. package/db/index.d.ts +0 -4
  320. package/db/index.js +0 -15
  321. package/db/index.js.map +0 -1
  322. package/db/session.d.ts +0 -16
  323. package/db/session.js +0 -40
  324. package/db/session.js.map +0 -1
  325. package/docs/cases/simple_delete.d.ts +0 -1
  326. package/docs/cases/simple_delete.js +0 -36
  327. package/docs/cases/simple_delete.js.map +0 -1
  328. package/docs/cases/simple_insert.d.ts +0 -1
  329. package/docs/cases/simple_insert.js +0 -58
  330. package/docs/cases/simple_insert.js.map +0 -1
  331. package/docs/cases/simple_join.d.ts +0 -1
  332. package/docs/cases/simple_join.js +0 -116
  333. package/docs/cases/simple_join.js.map +0 -1
  334. package/docs/cases/simple_select.d.ts +0 -1
  335. package/docs/cases/simple_select.js +0 -51
  336. package/docs/cases/simple_select.js.map +0 -1
  337. package/docs/cases/simple_update.d.ts +0 -1
  338. package/docs/cases/simple_update.js +0 -40
  339. package/docs/cases/simple_update.js.map +0 -1
  340. package/docs/tables/citiesTable.d.ts +0 -14
  341. package/docs/tables/citiesTable.js +0 -22
  342. package/docs/tables/citiesTable.js.map +0 -1
  343. package/docs/tables/userGroupsTable.d.ts +0 -8
  344. package/docs/tables/userGroupsTable.js +0 -20
  345. package/docs/tables/userGroupsTable.js.map +0 -1
  346. package/docs/tables/usersTable.d.ts +0 -17
  347. package/docs/tables/usersTable.js +0 -36
  348. package/docs/tables/usersTable.js.map +0 -1
  349. package/docs/tables/usersToUserGroups.d.ts +0 -7
  350. package/docs/tables/usersToUserGroups.js +0 -21
  351. package/docs/tables/usersToUserGroups.js.map +0 -1
  352. package/docs/types/rolesType.d.ts +0 -1
  353. package/docs/types/rolesType.js +0 -7
  354. package/docs/types/rolesType.js.map +0 -1
  355. package/errors/baseError.d.ts +0 -22
  356. package/errors/baseError.js +0 -36
  357. package/errors/baseError.js.map +0 -1
  358. package/errors/builderError.d.ts +0 -15
  359. package/errors/builderError.js +0 -26
  360. package/errors/builderError.js.map +0 -1
  361. package/errors/dbErrors.d.ts +0 -12
  362. package/errors/dbErrors.js +0 -29
  363. package/errors/dbErrors.js.map +0 -1
  364. package/indexes/tableIndex.d.ts +0 -11
  365. package/indexes/tableIndex.js +0 -18
  366. package/indexes/tableIndex.js.map +0 -1
  367. package/logger/abstractLogger.d.ts +0 -4
  368. package/logger/abstractLogger.js +0 -6
  369. package/logger/abstractLogger.js.map +0 -1
  370. package/logger/consoleLogger.d.ts +0 -5
  371. package/logger/consoleLogger.js +0 -16
  372. package/logger/consoleLogger.js.map +0 -1
  373. package/mappers/index.d.ts +0 -0
  374. package/mappers/index.js +0 -2
  375. package/mappers/index.js.map +0 -1
  376. package/mappers/responseMapper.d.ts +0 -15
  377. package/mappers/responseMapper.js +0 -69
  378. package/mappers/responseMapper.js.map +0 -1
  379. package/migrator/index.d.ts +0 -0
  380. package/migrator/index.js +0 -2
  381. package/migrator/index.js.map +0 -1
  382. package/migrator/migrator.d.ts +0 -11
  383. package/migrator/migrator.js +0 -113
  384. package/migrator/migrator.js.map +0 -1
  385. package/serializer/serializer.d.ts +0 -0
  386. package/serializer/serializer.js +0 -295
  387. package/serializer/serializer.js.map +0 -1
  388. package/tables/abstractTable.d.ts +0 -73
  389. package/tables/abstractTable.js +0 -173
  390. package/tables/abstractTable.js.map +0 -1
  391. package/tables/index.d.ts +0 -3
  392. package/tables/index.js +0 -12
  393. package/tables/index.js.map +0 -1
  394. package/tables/inferTypes.d.ts +0 -48
  395. package/tables/inferTypes.js.map +0 -1
  396. package/tables/migrationsTable.d.ts +0 -7
  397. package/tables/migrationsTable.js +0 -19
  398. package/tables/migrationsTable.js.map +0 -1
  399. package/test.d.ts +0 -1
  400. package/test.js +0 -193
  401. package/test.js.map +0 -1
  402. package/types/type.d.ts +0 -10
  403. package/types/type.js +0 -15
  404. package/types/type.js.map +0 -1
  405. package/utils/ecranate.d.ts +0 -2
  406. package/utils/ecranate.js +0 -9
  407. package/utils/ecranate.js.map +0 -1
  408. package/utils/escape.d.ts +0 -2
  409. package/utils/escape.js +0 -9
  410. package/utils/escape.js.map +0 -1
@@ -1,4 +0,0 @@
1
- export default abstract class BaseLogger {
2
- abstract info(msg: string): void;
3
- abstract error(msg: string): void;
4
- }
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- class BaseLogger {
4
- }
5
- exports.default = BaseLogger;
6
- //# sourceMappingURL=abstractLogger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"abstractLogger.js","sourceRoot":"","sources":["../../src/logger/abstractLogger.ts"],"names":[],"mappings":";;AAAA,MAA8B,UAAU;CAGvC;AAHD,6BAGC"}
@@ -1,5 +0,0 @@
1
- import BaseLogger from './abstractLogger';
2
- export default class ConsoleLogger extends BaseLogger {
3
- info(msg: string): void;
4
- error(msg: string): void;
5
- }
@@ -1,16 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const abstractLogger_1 = __importDefault(require("./abstractLogger"));
7
- class ConsoleLogger extends abstractLogger_1.default {
8
- info(msg) {
9
- console.log(`INFO: ${msg}`);
10
- }
11
- error(msg) {
12
- console.log(`ERROR: ${msg}`);
13
- }
14
- }
15
- exports.default = ConsoleLogger;
16
- //# sourceMappingURL=consoleLogger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"consoleLogger.js","sourceRoot":"","sources":["../../src/logger/consoleLogger.ts"],"names":[],"mappings":";;;;;AAAA,sEAA0C;AAE1C,MAAqB,aAAc,SAAQ,wBAAU;IAC5C,IAAI,CAAC,GAAW;QACrB,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;IAC9B,CAAC;IAEM,KAAK,CAAC,GAAW;QACtB,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;IAC/B,CAAC;CACF;AARD,gCAQC"}
File without changes
package/mappers/index.js DELETED
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mappers/index.ts"],"names":[],"mappings":""}
@@ -1,15 +0,0 @@
1
- import { QueryResult } from 'pg';
2
- import { AbstractTable } from '..';
3
- import { AbstractColumn } from '../columns/column';
4
- import ColumnType from '../columns/types/columnType';
5
- import { ExtractModel, PartialFor } from '../tables/inferTypes';
6
- export default class QueryResponseMapper {
7
- static map: <ITable>(mappedServiceToDb: { [name in keyof ExtractModel<ITable>]: AbstractColumn<ColumnType<{}>, true, false, any>; }, queryResult: QueryResult<any>, joinId?: number | undefined) => ExtractModel<ITable>[];
8
- static partialMap: <T extends AbstractTable<T>>(partial: PartialFor<T>, queryResult: QueryResult<any>, joinId?: number | undefined) => ExtractModel<T>[];
9
- }
10
- export declare class QueryResponseMapperV1 {
11
- static map: <ITable>(mappedServiceToDb: { [name in keyof ExtractModel<ITable>]: AbstractColumn<ColumnType<{}>, true, false, any>; }, queryResult: QueryResult<any>, joinId?: number | undefined) => ExtractModel<ITable>[];
12
- static partialMap: <T>(partial: {
13
- [name: string]: AbstractColumn<ColumnType<{}>, true, false, any>;
14
- }, queryResult: QueryResult<any>, joinId?: number | undefined) => ExtractModel<T>[];
15
- }
@@ -1,69 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.QueryResponseMapperV1 = void 0;
4
- // eslint-disable-next-line max-len
5
- // const checkProperties = (obj: any) => Object.values(obj).every((x) => x === null || Number.isNaN(x));
6
- class QueryResponseMapper {
7
- }
8
- exports.default = QueryResponseMapper;
9
- QueryResponseMapper.map = (mappedServiceToDb, queryResult, joinId) => {
10
- const response = [];
11
- queryResult.rows.forEach((row) => {
12
- const mappedRow = {};
13
- Object.keys(mappedServiceToDb).forEach((key) => {
14
- const column = mappedServiceToDb[key];
15
- const alias = `${column.getParentName()}_${column.getColumnName()}`;
16
- // const alias = `${column.getAlias()}${joinId ? `_${joinId}` : ''}`;
17
- const value = column.getColumnType().selectStrategy(row[alias]);
18
- mappedRow[key] = value === null ? undefined : value;
19
- });
20
- response.push(mappedRow);
21
- });
22
- return response;
23
- };
24
- QueryResponseMapper.partialMap = (partial, queryResult, joinId) => {
25
- const response = [];
26
- queryResult.rows.forEach((row) => {
27
- const mappedRow = {};
28
- Object.keys(partial).forEach((key) => {
29
- const column = partial[key];
30
- const alias = `${column.getAlias()}${joinId ? `_${joinId}` : ''}`;
31
- const value = column.getColumnType().selectStrategy(row[alias]);
32
- mappedRow[key] = value === null ? undefined : value;
33
- });
34
- response.push(mappedRow);
35
- });
36
- return response;
37
- };
38
- class QueryResponseMapperV1 {
39
- }
40
- exports.QueryResponseMapperV1 = QueryResponseMapperV1;
41
- QueryResponseMapperV1.map = (mappedServiceToDb, queryResult, joinId) => {
42
- const response = [];
43
- queryResult.rows.forEach((row) => {
44
- const mappedRow = {};
45
- Object.keys(mappedServiceToDb).forEach((key) => {
46
- const column = mappedServiceToDb[key];
47
- const alias = `${column.getAlias()}${joinId ? `_${joinId}` : ''}`;
48
- const value = column.getColumnType().selectStrategy(row[alias]);
49
- mappedRow[key] = value === null ? undefined : value;
50
- });
51
- response.push(mappedRow);
52
- });
53
- return response;
54
- };
55
- QueryResponseMapperV1.partialMap = (partial, queryResult, joinId) => {
56
- const response = [];
57
- queryResult.rows.forEach((row) => {
58
- const mappedRow = {};
59
- Object.keys(partial).forEach((key) => {
60
- const column = partial[key];
61
- const alias = `${column.getAlias()}${joinId ? `_${joinId}` : ''}`;
62
- const value = column.getColumnType().selectStrategy(row[alias]);
63
- mappedRow[key] = value === null ? undefined : value;
64
- });
65
- response.push(mappedRow);
66
- });
67
- return response;
68
- };
69
- //# sourceMappingURL=responseMapper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"responseMapper.js","sourceRoot":"","sources":["../../src/mappers/responseMapper.ts"],"names":[],"mappings":"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"}
File without changes
package/migrator/index.js DELETED
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/migrator/index.ts"],"names":[],"mappings":""}
@@ -1,11 +0,0 @@
1
- import Db from '../db/db';
2
- export declare type InCodeConfig = {
3
- migrationFolder: string;
4
- };
5
- export default class Migrator {
6
- private db;
7
- constructor(db: Db);
8
- migrate(configPath: string): Promise<void>;
9
- migrate(config: InCodeConfig): Promise<void>;
10
- private generateHash;
11
- }
@@ -1,113 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __importDefault = (this && this.__importDefault) || function (mod) {
22
- return (mod && mod.__esModule) ? mod : { "default": mod };
23
- };
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- /* eslint-disable no-continue */
26
- /* eslint-disable no-restricted-syntax */
27
- /* eslint-disable import/export */
28
- /* eslint-disable max-classes-per-file */
29
- const fs = __importStar(require("fs"));
30
- const path = __importStar(require("path"));
31
- const crypto = __importStar(require("crypto"));
32
- const builders_1 = require("../builders");
33
- const transaction_1 = __importDefault(require("../builders/transaction/transaction"));
34
- const tables_1 = require("../tables");
35
- const order_1 = __importDefault(require("../builders/highLvlBuilders/order"));
36
- class Migrator {
37
- constructor(db) {
38
- this.db = db;
39
- }
40
- async migrate(configPath) {
41
- var _a;
42
- let migrationFolderTo;
43
- if (typeof configPath === 'string') {
44
- const configAsString = fs.readFileSync(path.resolve('.', configPath), 'utf8');
45
- const splitted = configAsString.trim().split('\n');
46
- // eslint-disable-next-line no-restricted-syntax
47
- for (const split of splitted) {
48
- const entry = split.trim().split(':');
49
- const key = entry[0];
50
- const value = entry[1].trim().replace(/['"]+/g, '');
51
- if (key === 'migrationRootFolder') {
52
- // proceed value
53
- migrationFolderTo = value;
54
- }
55
- }
56
- }
57
- else {
58
- migrationFolderTo = configPath.migrationFolder;
59
- }
60
- if (!migrationFolderTo) {
61
- throw Error('no migration folder defined');
62
- }
63
- const migrationTable = new tables_1.MigrationsTable(this.db);
64
- await this.db.session().execute(builders_1.Create.table(migrationTable).build());
65
- const dbMigrations = await migrationTable.select()
66
- .limit(1)
67
- .orderBy((table) => table.createdAt, order_1.default.DESC)
68
- .all();
69
- const lastDbMigration = (_a = dbMigrations[0]) !== null && _a !== void 0 ? _a : undefined;
70
- console.log('last migration: ', lastDbMigration === null || lastDbMigration === void 0 ? void 0 : lastDbMigration.hash);
71
- const files = fs.readdirSync(migrationFolderTo);
72
- const transaction = new transaction_1.default(this.db.session());
73
- await transaction.begin();
74
- try {
75
- for await (const migrationFolder of files) {
76
- if (migrationFolder === '.DS_Store') {
77
- continue;
78
- }
79
- const migrationFiles = fs.readdirSync(`${migrationFolderTo}/${migrationFolder}`);
80
- const migrationFile = migrationFiles.filter((file) => file === 'migration.sql')[0];
81
- const query = fs.readFileSync(`${migrationFolderTo}/${migrationFolder}/${migrationFile}`).toString();
82
- const year = Number(migrationFolder.slice(0, 4));
83
- // second param for Date() is month index, that started from 0, so we need
84
- // to decrement a value for month
85
- const month = Number(migrationFolder.slice(4, 6)) - 1;
86
- const day = Number(migrationFolder.slice(6, 8));
87
- const hour = Number(migrationFolder.slice(8, 10));
88
- const min = Number(migrationFolder.slice(10, 12));
89
- const sec = Number(migrationFolder.slice(12, 14));
90
- const folderAsMillis = Date.UTC(year, month, day, hour, min, sec);
91
- console.log(`check migration ${migrationFolder} {folderAsMillis}`);
92
- if (!lastDbMigration || lastDbMigration.createdAt < folderAsMillis) {
93
- console.log(`executing ${migrationFolder}`);
94
- await this.db.session().execute(query);
95
- await migrationTable.insert({
96
- hash: this.generateHash(query),
97
- createdAt: folderAsMillis,
98
- }).execute();
99
- }
100
- }
101
- await transaction.commit();
102
- }
103
- catch (e) {
104
- await transaction.rollback();
105
- throw e;
106
- }
107
- }
108
- generateHash(value) {
109
- return crypto.createHash('sha256').update(value).digest('hex');
110
- }
111
- }
112
- exports.default = Migrator;
113
- //# sourceMappingURL=migrator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"migrator.js","sourceRoot":"","sources":["../../src/migrator/migrator.ts"],"names":[],"mappings":"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"}
File without changes
@@ -1,295 +0,0 @@
1
- "use strict";
2
- /* eslint-disable max-len */
3
- // /* eslint-disable max-classes-per-file */
4
- // /* eslint-disable import/no-named-as-default-member */
5
- // /* eslint-disable import/no-named-as-default */
6
- // /* eslint-disable no-param-reassign */
7
- // /* eslint-disable no-restricted-syntax */
8
- // import { Column } from '../columns';
9
- // import ColumnType from '../columns/types/columnType';
10
- // import { DB } from '../db';
11
- // import TableIndex from '../indexes/tableIndex';
12
- // import { AbstractTable } from '../tables';
13
- // import Enum from '../types/type';
14
- // export interface EnumsAsObject {
15
- // [name: string]: {
16
- // name: string,
17
- // values: string[]
18
- // }
19
- // }
20
- // export interface ColumnAsObject {
21
- // [name: string]: {
22
- // name?: string;
23
- // type?: string;
24
- // primaryKey?: boolean;
25
- // unique?: boolean;
26
- // default?: any;
27
- // notNull?: boolean;
28
- // references?: string;
29
- // };
30
- // }
31
- // export interface IndexColumnAsObject {
32
- // [name: string]: {
33
- // name?: string;
34
- // };
35
- // }
36
- // export interface IndexAsObject {
37
- // [name: string]: {
38
- // name?: string;
39
- // columns?: ColumnAsObject;
40
- // isUnique?: boolean
41
- // };
42
- // }
43
- // export interface TableAsObject {
44
- // [name: string]: {
45
- // name: string;
46
- // columns: ColumnAsObject;
47
- // indexes: {
48
- // [name: string]: {
49
- // name?: string;
50
- // type?: string;
51
- // };
52
- // };
53
- // };
54
- // }
55
- // // eslint-disable-next-line max-len
56
- // const serialiseForeignKey = (fkName:string, table:string, column:string, onDelete?:string, onUpdate?:string) => `${fkName};${table};${column};${onDelete ?? ''};${onUpdate ?? ''}`;
57
- // export default class MigrationSerializer {
58
- // public generate = (tables: AbstractTable<any>[], enums: Enum<any>[]) => {
59
- // const result: TableAsObject = {};
60
- // for (const table of tables) {
61
- // const tableEntries = Object.entries(table);
62
- // const columnToReturn: ColumnAsObject = {};
63
- // const indexToReturn: IndexAsObject = {};
64
- // for (const properties of tableEntries) {
65
- // const value = properties[1];
66
- // if (value instanceof TableIndex) {
67
- // const columns = value.getColumns();
68
- // const name = value.indexName();
69
- // const indexColumnToReturn: IndexColumnAsObject = {};
70
- // for (const column of columns) {
71
- // const columnName = column.getColumnName();
72
- // indexColumnToReturn[columnName] = {
73
- // name: columnName,
74
- // };
75
- // }
76
- // indexToReturn[name] = {
77
- // name,
78
- // columns: indexColumnToReturn,
79
- // isUnique: value.isUnique(),
80
- // };
81
- // }
82
- // if (value instanceof Column) {
83
- // columnToReturn[value.getColumnName()] = {
84
- // name: value.getColumnName(),
85
- // type: (value.getColumnType() as ColumnType).getDbName(),
86
- // primaryKey: !!value.primaryKeyName,
87
- // // unique: !!value.uniqueKeyName,
88
- // // default: value.getDefaultValue() === null ? undefined : value.getDefaultValue(),
89
- // notNull: !value.isNullableFlag,
90
- // };
91
- // if (value.getDefaultValue() !== undefined && value.getDefaultValue() !== null) {
92
- // columnToReturn[value.getColumnName()].default = value.getDefaultValue().toJSON();
93
- // }
94
- // if (value.uniqueKeyName) {
95
- // const indexName = `${value.getParent().tableName()}_${value.getColumnName()}_index`;
96
- // const indexColumnToReturn: IndexColumnAsObject = {};
97
- // indexColumnToReturn[value.getColumnName()] = {
98
- // name: value.getColumnName(),
99
- // };
100
- // indexToReturn[indexName] = {
101
- // name: indexName,
102
- // columns: indexColumnToReturn,
103
- // isUnique: true,
104
- // };
105
- // }
106
- // const referenced = value.getReferenced();
107
- // if (referenced) {
108
- // const fkName = `${value.getParent().tableName()}_${value.getColumnName()}_fkey`;
109
- // const tableParentName = referenced.getParentName();
110
- // const column = referenced.getColumnName();
111
- // const onDelete = value.getOnDelete();
112
- // const onUpdate = value.getOnUpdate();
113
- // // eslint-disable-next-line max-len
114
- // const referenceString = serialiseForeignKey(fkName, tableParentName, column, onDelete, onUpdate);
115
- // columnToReturn[value.getColumnName()].references = referenceString;
116
- // }
117
- // }
118
- // }
119
- // result[table.tableName()] = {
120
- // name: table.tableName(),
121
- // columns: columnToReturn,
122
- // indexes: indexToReturn,
123
- // };
124
- // }
125
- // const enumsToReturn = enums.reduce<{[key:string]: Enum<any>}>((map, obj) => {
126
- // const key = obj.name;
127
- // const newValues = obj.values.reduce((mapped, value) => {
128
- // mapped[value] = value;
129
- // return mapped;
130
- // }, {});
131
- // map[key] = { name: obj.name, values: newValues };
132
- // return map;
133
- // }, {});
134
- // return { version: '2', tables: result, enums: enumsToReturn };
135
- // };
136
- // public fromDatabase = async (db: DB) => {
137
- // const result: TableAsObject = {};
138
- // const allTables = await db.session().execute('SELECT table_schema, table_name FROM information_schema.tables WHERE table_schema != \'pg_catalog\' and table_schema != \'information_schema\';');
139
- // for await (const row of allTables.rows) {
140
- // try {
141
- // // const tableSchema = row.table_schema;
142
- // const tableName = row.table_name;
143
- // const columnToReturn: ColumnAsObject = {};
144
- // const indexToReturn: IndexAsObject = {};
145
- // const tableResponse = await db.session().execute(`SELECT a.attrelid::regclass::text, a.attname
146
- // , CASE WHEN a.atttypid = ANY ('{int,int8,int2}'::regtype[])
147
- // AND EXISTS (
148
- // SELECT FROM pg_attrdef ad
149
- // WHERE ad.adrelid = a.attrelid
150
- // AND ad.adnum = a.attnum
151
- // AND pg_get_expr(ad.adbin, ad.adrelid)
152
- // = 'nextval('''
153
- // || (pg_get_serial_sequence (a.attrelid::regclass::text
154
- // , a.attname))::regclass
155
- // || '''::regclass)'
156
- // )
157
- // THEN CASE a.atttypid
158
- // WHEN 'int'::regtype THEN 'serial'
159
- // WHEN 'int8'::regtype THEN 'bigserial'
160
- // WHEN 'int2'::regtype THEN 'smallserial'
161
- // END
162
- // ELSE format_type(a.atttypid, a.atttypmod)
163
- // END AS data_type, INFORMATION_SCHEMA.COLUMNS.table_name, INFORMATION_SCHEMA.COLUMNS.column_name, INFORMATION_SCHEMA.COLUMNS.column_default
164
- // FROM pg_attribute a
165
- // JOIN INFORMATION_SCHEMA.COLUMNS ON INFORMATION_SCHEMA.COLUMNS.column_name = a.attname
166
- // WHERE a.attrelid = '${tableName}'::regclass and INFORMATION_SCHEMA.COLUMNS.table_name = '${tableName}'
167
- // AND a.attnum > 0
168
- // AND NOT a.attisdropped
169
- // ORDER BY a.attnum;`);
170
- // const tableConstraints = await db.session().execute(`SELECT c.column_name, c.data_type, constraint_type, constraint_name
171
- // FROM information_schema.table_constraints tc
172
- // JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_name)
173
- // JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema
174
- // AND tc.table_name = c.table_name AND ccu.column_name = c.column_name
175
- // WHERE tc.table_name = '${tableName}';`);
176
- // const tableForeignKeys = await db.session().execute(`SELECT
177
- // tc.table_schema,
178
- // tc.constraint_name,
179
- // tc.table_name,
180
- // kcu.column_name,
181
- // ccu.table_schema AS foreign_table_schema,
182
- // ccu.table_name AS foreign_table_name,
183
- // ccu.column_name AS foreign_column_name,
184
- // rc.delete_rule, rc.update_rule
185
- // FROM
186
- // information_schema.table_constraints AS tc
187
- // JOIN information_schema.key_column_usage AS kcu
188
- // ON tc.constraint_name = kcu.constraint_name
189
- // AND tc.table_schema = kcu.table_schema
190
- // JOIN information_schema.constraint_column_usage AS ccu
191
- // ON ccu.constraint_name = tc.constraint_name
192
- // AND ccu.table_schema = tc.table_schema
193
- // JOIN information_schema.referential_constraints AS rc
194
- // ON ccu.constraint_name = rc.constraint_name
195
- // WHERE tc.constraint_type = 'FOREIGN KEY' AND tc.table_name='${tableName}';`);
196
- // const mappedRefernces: { [name: string]: string } = {};
197
- // for (const fk of tableForeignKeys.rows) {
198
- // // const tableFrom = fk.table_name;
199
- // const columnFrom = fk.column_name;
200
- // const tableTo = fk.foreign_table_name;
201
- // const columnTo = fk.foreign_column_name;
202
- // const foreignKeyName = fk.constraint_name;
203
- // const onUpdate = fk.update_rule;
204
- // const onDelete = fk.delete_rule;
205
- // // eslint-disable-next-line max-len
206
- // const references = serialiseForeignKey(foreignKeyName, tableTo, columnTo, onDelete, onUpdate);
207
- // mappedRefernces[columnFrom] = references;
208
- // }
209
- // for (const columnResponse of tableResponse.rows) {
210
- // const columnName = columnResponse.attname;
211
- // const columnType = columnResponse.data_type;
212
- // const primaryKey = tableConstraints.rows.filter((mapRow) => columnName === mapRow.column_name && mapRow.constraint_type === 'PRIMARY KEY');
213
- // const uniqueKey = tableConstraints.rows.filter((mapRow) => columnName === mapRow.column_name && mapRow.constraint_type === 'UNIQUE');
214
- // const defaultValue: string = columnResponse.column_default === null
215
- // ? undefined : columnResponse.column_default;
216
- // const isSerial = columnType === 'serial';
217
- // columnToReturn[columnName] = {
218
- // name: columnName,
219
- // type: columnType,
220
- // primaryKey: !!primaryKey[0],
221
- // unique: !!uniqueKey[0],
222
- // default: isSerial ? undefined : defaultValue,
223
- // notNull: !columnResponse.is_nullable,
224
- // references: mappedRefernces[columnName] ?? undefined,
225
- // };
226
- // }
227
- // const dbIndexes = await db.session().execute(`select
228
- // t.relname as table_name,
229
- // i.relname as index_name,
230
- // a.attname as column_name
231
- // from
232
- // pg_class t,
233
- // pg_class i,
234
- // pg_index ix,
235
- // pg_attribute a
236
- // where
237
- // t.oid = ix.indrelid
238
- // and i.oid = ix.indexrelid
239
- // and a.attrelid = t.oid
240
- // and a.attnum = ANY(ix.indkey)
241
- // and t.relkind = 'r'
242
- // and t.relname = '${tableName}'
243
- // order by
244
- // t.relname,
245
- // i.relname;`);
246
- // for (const dbIndex of dbIndexes.rows) {
247
- // const indexName = dbIndex.index_name;
248
- // const indexColumnName = dbIndex.column_name;
249
- // if (indexToReturn[indexName] !== undefined && indexToReturn[indexName] !== null) {
250
- // indexToReturn[indexName]!.columns![indexColumnName] = {
251
- // name: indexColumnName,
252
- // };
253
- // } else {
254
- // indexToReturn[indexName] = {
255
- // name: indexName,
256
- // columns: {
257
- // [indexColumnName]: {
258
- // name: indexColumnName,
259
- // },
260
- // },
261
- // };
262
- // }
263
- // }
264
- // result[tableName] = {
265
- // name: tableName,
266
- // columns: columnToReturn,
267
- // indexes: indexToReturn,
268
- // };
269
- // } catch (e) {
270
- // console.log(e);
271
- // }
272
- // }
273
- // const allEnums = await db.session().execute(`select n.nspname as enum_schema,
274
- // t.typname as enum_name,
275
- // e.enumlabel as enum_value
276
- // from pg_type t
277
- // join pg_enum e on t.oid = e.enumtypid
278
- // join pg_catalog.pg_namespace n ON n.oid = t.typnamespace;`);
279
- // const enumsToReturn: EnumsAsObject = {};
280
- // for (const dbEnum of allEnums.rows) {
281
- // const enumName = dbEnum.enum_name;
282
- // const enumValue = dbEnum.enum_value;
283
- // if (enumsToReturn[enumName] !== undefined && enumsToReturn[enumName] !== null) {
284
- // enumsToReturn[enumName].values.push(enumValue);
285
- // } else {
286
- // enumsToReturn[enumName] = {
287
- // name: enumName,
288
- // values: [enumValue],
289
- // };
290
- // }
291
- // }
292
- // return { version: '2', tables: result, enums: enumsToReturn };
293
- // };
294
- // }
295
- //# sourceMappingURL=serializer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../src/serializer/serializer.ts"],"names":[],"mappings":"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"}