drizzle-orm 0.10.29 → 0.10.32

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 (363) hide show
  1. package/{dist/index.js → index.js} +0 -0
  2. package/package.json +7 -5
  3. package/.eslintrc +0 -28
  4. package/.tslintignore +0 -1
  5. package/CHANGELOG.md +0 -202
  6. package/README.md +0 -439
  7. package/dist/builders/aggregators/abstractAggregator.d.ts +0 -11
  8. package/dist/builders/aggregators/abstractAggregator.js +0 -35
  9. package/dist/builders/aggregators/deleteAggregator.d.ts +0 -16
  10. package/dist/builders/aggregators/deleteAggregator.js +0 -42
  11. package/dist/builders/aggregators/insertAggregator.d.ts +0 -22
  12. package/dist/builders/aggregators/insertAggregator.js +0 -106
  13. package/dist/builders/aggregators/selectAggregator.d.ts +0 -39
  14. package/dist/builders/aggregators/selectAggregator.js +0 -143
  15. package/dist/builders/aggregators/updateAggregator.d.ts +0 -19
  16. package/dist/builders/aggregators/updateAggregator.js +0 -50
  17. package/dist/builders/highLvlBuilders/abstractRequestBuilder.d.ts +0 -27
  18. package/dist/builders/highLvlBuilders/abstractRequestBuilder.js +0 -32
  19. package/dist/builders/highLvlBuilders/deleteRequestBuilder.d.ts +0 -19
  20. package/dist/builders/highLvlBuilders/deleteRequestBuilder.js +0 -61
  21. package/dist/builders/highLvlBuilders/insertRequestBuilder.d.ts +0 -20
  22. package/dist/builders/highLvlBuilders/insertRequestBuilder.js +0 -73
  23. package/dist/builders/highLvlBuilders/order.d.ts +0 -5
  24. package/dist/builders/highLvlBuilders/order.js +0 -8
  25. package/dist/builders/highLvlBuilders/selectRequestBuilder.d.ts +0 -47
  26. package/dist/builders/highLvlBuilders/selectRequestBuilder.js +0 -128
  27. package/dist/builders/highLvlBuilders/updateRequestBuilder.d.ts +0 -22
  28. package/dist/builders/highLvlBuilders/updateRequestBuilder.js +0 -80
  29. package/dist/builders/index.d.ts +0 -18
  30. package/dist/builders/index.js +0 -54
  31. package/dist/builders/joinBuilders/builders/abstractJoinBuilder.d.ts +0 -40
  32. package/dist/builders/joinBuilders/builders/abstractJoinBuilder.js +0 -78
  33. package/dist/builders/joinBuilders/builders/selectWithFiveJoins.d.ts +0 -35
  34. package/dist/builders/joinBuilders/builders/selectWithFiveJoins.js +0 -45
  35. package/dist/builders/joinBuilders/builders/selectWithFourJoins.d.ts +0 -55
  36. package/dist/builders/joinBuilders/builders/selectWithFourJoins.js +0 -78
  37. package/dist/builders/joinBuilders/builders/selectWithJoin.d.ts +0 -49
  38. package/dist/builders/joinBuilders/builders/selectWithJoin.js +0 -64
  39. package/dist/builders/joinBuilders/builders/selectWithThreeJoins.d.ts +0 -53
  40. package/dist/builders/joinBuilders/builders/selectWithThreeJoins.js +0 -73
  41. package/dist/builders/joinBuilders/builders/selectWithTwoJoins.d.ts +0 -51
  42. package/dist/builders/joinBuilders/builders/selectWithTwoJoins.js +0 -68
  43. package/dist/builders/joinBuilders/join.d.ts +0 -23
  44. package/dist/builders/joinBuilders/join.js +0 -28
  45. package/dist/builders/joinBuilders/joinWith.d.ts +0 -14
  46. package/dist/builders/joinBuilders/joinWith.js +0 -14
  47. package/dist/builders/joinBuilders/responses/selectResponseFiveJoins.d.ts +0 -20
  48. package/dist/builders/joinBuilders/responses/selectResponseFiveJoins.js +0 -35
  49. package/dist/builders/joinBuilders/responses/selectResponseFourJoins.d.ts +0 -19
  50. package/dist/builders/joinBuilders/responses/selectResponseFourJoins.js +0 -34
  51. package/dist/builders/joinBuilders/responses/selectResponseThreeJoins.d.ts +0 -18
  52. package/dist/builders/joinBuilders/responses/selectResponseThreeJoins.js +0 -33
  53. package/dist/builders/joinBuilders/responses/selectResponseTwoJoins.d.ts +0 -17
  54. package/dist/builders/joinBuilders/responses/selectResponseTwoJoins.js +0 -32
  55. package/dist/builders/joinBuilders/responses/selectResponseWithJoin.d.ts +0 -16
  56. package/dist/builders/joinBuilders/responses/selectResponseWithJoin.js +0 -31
  57. package/dist/builders/joinBuilders/static.d.ts +0 -5
  58. package/dist/builders/joinBuilders/static.js +0 -9
  59. package/dist/builders/lowLvlBuilders/alter.d.ts +0 -0
  60. package/dist/builders/lowLvlBuilders/alter.js +0 -1
  61. package/dist/builders/lowLvlBuilders/create.d.ts +0 -12
  62. package/dist/builders/lowLvlBuilders/create.js +0 -100
  63. package/dist/builders/lowLvlBuilders/delets/delete.d.ts +0 -5
  64. package/dist/builders/lowLvlBuilders/delets/delete.js +0 -15
  65. package/dist/builders/lowLvlBuilders/delets/deleteFilter.d.ts +0 -11
  66. package/dist/builders/lowLvlBuilders/delets/deleteFilter.js +0 -13
  67. package/dist/builders/lowLvlBuilders/delets/deleteFrom.d.ts +0 -12
  68. package/dist/builders/lowLvlBuilders/delets/deleteFrom.js +0 -14
  69. package/dist/builders/lowLvlBuilders/inserts/insert.d.ts +0 -5
  70. package/dist/builders/lowLvlBuilders/inserts/insert.js +0 -15
  71. package/dist/builders/lowLvlBuilders/inserts/insertInto.d.ts +0 -13
  72. package/dist/builders/lowLvlBuilders/inserts/insertInto.js +0 -16
  73. package/dist/builders/lowLvlBuilders/inserts/onConflictInsert.d.ts +0 -12
  74. package/dist/builders/lowLvlBuilders/inserts/onConflictInsert.js +0 -13
  75. package/dist/builders/lowLvlBuilders/inserts/valuesInsert.d.ts +0 -16
  76. package/dist/builders/lowLvlBuilders/inserts/valuesInsert.js +0 -19
  77. package/dist/builders/lowLvlBuilders/selects/select.d.ts +0 -9
  78. package/dist/builders/lowLvlBuilders/selects/select.js +0 -16
  79. package/dist/builders/lowLvlBuilders/selects/selectFrom.d.ts +0 -28
  80. package/dist/builders/lowLvlBuilders/selects/selectFrom.js +0 -34
  81. package/dist/builders/lowLvlBuilders/selects/selectJoined.d.ts +0 -26
  82. package/dist/builders/lowLvlBuilders/selects/selectJoined.js +0 -30
  83. package/dist/builders/lowLvlBuilders/selects/whereSelect.d.ts +0 -17
  84. package/dist/builders/lowLvlBuilders/selects/whereSelect.js +0 -25
  85. package/dist/builders/lowLvlBuilders/updates/update.d.ts +0 -5
  86. package/dist/builders/lowLvlBuilders/updates/update.js +0 -15
  87. package/dist/builders/lowLvlBuilders/updates/updateIn.d.ts +0 -13
  88. package/dist/builders/lowLvlBuilders/updates/updateIn.js +0 -15
  89. package/dist/builders/lowLvlBuilders/updates/whereSelect.d.ts +0 -11
  90. package/dist/builders/lowLvlBuilders/updates/whereSelect.js +0 -13
  91. package/dist/builders/lowLvlBuilders/updates/whereSet.d.ts +0 -14
  92. package/dist/builders/lowLvlBuilders/updates/whereSet.js +0 -18
  93. package/dist/builders/requestBuilders/updates/combine.d.ts +0 -9
  94. package/dist/builders/requestBuilders/updates/combine.js +0 -26
  95. package/dist/builders/requestBuilders/updates/increment.d.ts +0 -13
  96. package/dist/builders/requestBuilders/updates/increment.js +0 -18
  97. package/dist/builders/requestBuilders/updates/setObjects.d.ts +0 -12
  98. package/dist/builders/requestBuilders/updates/setObjects.js +0 -19
  99. package/dist/builders/requestBuilders/updates/static.d.ts +0 -7
  100. package/dist/builders/requestBuilders/updates/static.js +0 -15
  101. package/dist/builders/requestBuilders/updates/updates.d.ts +0 -9
  102. package/dist/builders/requestBuilders/updates/updates.js +0 -10
  103. package/dist/builders/requestBuilders/where/and.d.ts +0 -11
  104. package/dist/builders/requestBuilders/where/and.js +0 -31
  105. package/dist/builders/requestBuilders/where/const.d.ts +0 -9
  106. package/dist/builders/requestBuilders/where/const.js +0 -25
  107. package/dist/builders/requestBuilders/where/constArray.d.ts +0 -9
  108. package/dist/builders/requestBuilders/where/constArray.js +0 -39
  109. package/dist/builders/requestBuilders/where/eqWhere.d.ts +0 -12
  110. package/dist/builders/requestBuilders/where/eqWhere.js +0 -20
  111. package/dist/builders/requestBuilders/where/greater.d.ts +0 -15
  112. package/dist/builders/requestBuilders/where/greater.js +0 -20
  113. package/dist/builders/requestBuilders/where/greaterEq.d.ts +0 -15
  114. package/dist/builders/requestBuilders/where/greaterEq.js +0 -20
  115. package/dist/builders/requestBuilders/where/in.d.ts +0 -12
  116. package/dist/builders/requestBuilders/where/in.js +0 -20
  117. package/dist/builders/requestBuilders/where/isNotNull.d.ts +0 -11
  118. package/dist/builders/requestBuilders/where/isNotNull.js +0 -18
  119. package/dist/builders/requestBuilders/where/isNull.d.ts +0 -11
  120. package/dist/builders/requestBuilders/where/isNull.js +0 -18
  121. package/dist/builders/requestBuilders/where/less.d.ts +0 -15
  122. package/dist/builders/requestBuilders/where/less.js +0 -20
  123. package/dist/builders/requestBuilders/where/lessEq.d.ts +0 -15
  124. package/dist/builders/requestBuilders/where/lessEq.js +0 -20
  125. package/dist/builders/requestBuilders/where/like.d.ts +0 -12
  126. package/dist/builders/requestBuilders/where/like.js +0 -20
  127. package/dist/builders/requestBuilders/where/notEqWhere.d.ts +0 -12
  128. package/dist/builders/requestBuilders/where/notEqWhere.js +0 -20
  129. package/dist/builders/requestBuilders/where/or.d.ts +0 -11
  130. package/dist/builders/requestBuilders/where/or.js +0 -31
  131. package/dist/builders/requestBuilders/where/rawWhere.d.ts +0 -9
  132. package/dist/builders/requestBuilders/where/rawWhere.js +0 -15
  133. package/dist/builders/requestBuilders/where/static.d.ts +0 -17
  134. package/dist/builders/requestBuilders/where/static.js +0 -49
  135. package/dist/builders/requestBuilders/where/var.d.ts +0 -13
  136. package/dist/builders/requestBuilders/where/var.js +0 -18
  137. package/dist/builders/requestBuilders/where/where.d.ts +0 -8
  138. package/dist/builders/requestBuilders/where/where.js +0 -6
  139. package/dist/builders/transaction/transaction.d.ts +0 -8
  140. package/dist/builders/transaction/transaction.js +0 -20
  141. package/dist/columns/column.d.ts +0 -72
  142. package/dist/columns/column.js +0 -101
  143. package/dist/columns/index.d.ts +0 -10
  144. package/dist/columns/index.js +0 -27
  145. package/dist/columns/types/columnType.d.ts +0 -7
  146. package/dist/columns/types/columnType.js +0 -6
  147. package/dist/columns/types/pgBigDecimal.d.ts +0 -10
  148. package/dist/columns/types/pgBigDecimal.js +0 -31
  149. package/dist/columns/types/pgBigInt.d.ts +0 -15
  150. package/dist/columns/types/pgBigInt.js +0 -32
  151. package/dist/columns/types/pgBigSerial.d.ts +0 -15
  152. package/dist/columns/types/pgBigSerial.js +0 -32
  153. package/dist/columns/types/pgBoolean.d.ts +0 -8
  154. package/dist/columns/types/pgBoolean.js +0 -18
  155. package/dist/columns/types/pgEnum.d.ts +0 -9
  156. package/dist/columns/types/pgEnum.js +0 -18
  157. package/dist/columns/types/pgInteger.d.ts +0 -8
  158. package/dist/columns/types/pgInteger.js +0 -21
  159. package/dist/columns/types/pgJsonb.d.ts +0 -9
  160. package/dist/columns/types/pgJsonb.js +0 -20
  161. package/dist/columns/types/pgSerial.d.ts +0 -8
  162. package/dist/columns/types/pgSerial.js +0 -18
  163. package/dist/columns/types/pgSmallInt.d.ts +0 -8
  164. package/dist/columns/types/pgSmallInt.js +0 -18
  165. package/dist/columns/types/pgText.d.ts +0 -8
  166. package/dist/columns/types/pgText.js +0 -18
  167. package/dist/columns/types/pgTime.d.ts +0 -8
  168. package/dist/columns/types/pgTime.js +0 -18
  169. package/dist/columns/types/pgTimestamp.d.ts +0 -8
  170. package/dist/columns/types/pgTimestamp.js +0 -18
  171. package/dist/columns/types/pgTimestamptz.d.ts +0 -8
  172. package/dist/columns/types/pgTimestamptz.js +0 -18
  173. package/dist/columns/types/pgVarChar.d.ts +0 -9
  174. package/dist/columns/types/pgVarChar.js +0 -24
  175. package/dist/db/db.d.ts +0 -18
  176. package/dist/db/db.js +0 -25
  177. package/dist/db/dbConnector.d.ts +0 -9
  178. package/dist/db/dbConnector.js +0 -32
  179. package/dist/db/dbStringConnector.d.ts +0 -6
  180. package/dist/db/dbStringConnector.js +0 -29
  181. package/dist/db/group_by.d.ts +0 -0
  182. package/dist/db/group_by.js +0 -68
  183. package/dist/db/index.d.ts +0 -4
  184. package/dist/db/index.js +0 -14
  185. package/dist/db/session.d.ts +0 -9
  186. package/dist/db/session.js +0 -16
  187. package/dist/docs/cases/simple_delete.d.ts +0 -1
  188. package/dist/docs/cases/simple_delete.js +0 -35
  189. package/dist/docs/cases/simple_insert.d.ts +0 -1
  190. package/dist/docs/cases/simple_insert.js +0 -57
  191. package/dist/docs/cases/simple_join.d.ts +0 -1
  192. package/dist/docs/cases/simple_join.js +0 -115
  193. package/dist/docs/cases/simple_select.d.ts +0 -1
  194. package/dist/docs/cases/simple_select.js +0 -50
  195. package/dist/docs/cases/simple_update.d.ts +0 -1
  196. package/dist/docs/cases/simple_update.js +0 -39
  197. package/dist/docs/tables/citiesTable.d.ts +0 -14
  198. package/dist/docs/tables/citiesTable.js +0 -21
  199. package/dist/docs/tables/userGroupsTable.d.ts +0 -7
  200. package/dist/docs/tables/userGroupsTable.js +0 -18
  201. package/dist/docs/tables/usersTable.d.ts +0 -17
  202. package/dist/docs/tables/usersTable.js +0 -35
  203. package/dist/docs/tables/usersToUserGroups.d.ts +0 -7
  204. package/dist/docs/tables/usersToUserGroups.js +0 -20
  205. package/dist/docs/types/rolesType.d.ts +0 -1
  206. package/dist/docs/types/rolesType.js +0 -6
  207. package/dist/errors/baseError.d.ts +0 -22
  208. package/dist/errors/baseError.js +0 -35
  209. package/dist/errors/builderError.d.ts +0 -14
  210. package/dist/errors/builderError.js +0 -25
  211. package/dist/errors/dbErrors.d.ts +0 -12
  212. package/dist/errors/dbErrors.js +0 -28
  213. package/dist/index.d.ts +0 -11
  214. package/dist/indexes/tableIndex.d.ts +0 -11
  215. package/dist/indexes/tableIndex.js +0 -17
  216. package/dist/logger/abstractLogger.d.ts +0 -4
  217. package/dist/logger/abstractLogger.js +0 -5
  218. package/dist/logger/consoleLogger.d.ts +0 -5
  219. package/dist/logger/consoleLogger.js +0 -15
  220. package/dist/mappers/index.d.ts +0 -0
  221. package/dist/mappers/index.js +0 -1
  222. package/dist/mappers/responseMapper.d.ts +0 -10
  223. package/dist/mappers/responseMapper.js +0 -35
  224. package/dist/migrator/index.d.ts +0 -0
  225. package/dist/migrator/index.js +0 -1
  226. package/dist/migrator/migrator.d.ts +0 -11
  227. package/dist/migrator/migrator.js +0 -105
  228. package/dist/serializer/serializer.d.ts +0 -47
  229. package/dist/serializer/serializer.js +0 -258
  230. package/dist/tables/abstractTable.d.ts +0 -68
  231. package/dist/tables/abstractTable.js +0 -151
  232. package/dist/tables/index.d.ts +0 -3
  233. package/dist/tables/index.js +0 -11
  234. package/dist/tables/inferTypes.d.ts +0 -39
  235. package/dist/tables/inferTypes.js +0 -2
  236. package/dist/tables/migrationsTable.d.ts +0 -7
  237. package/dist/tables/migrationsTable.js +0 -18
  238. package/dist/test.d.ts +0 -1
  239. package/dist/test.js +0 -65
  240. package/dist/types/type.d.ts +0 -10
  241. package/dist/types/type.js +0 -14
  242. package/dist/utils/ecranate.d.ts +0 -2
  243. package/dist/utils/ecranate.js +0 -8
  244. package/pnpm-lock.yaml +0 -1842
  245. package/src/builders/aggregators/abstractAggregator.ts +0 -41
  246. package/src/builders/aggregators/deleteAggregator.ts +0 -44
  247. package/src/builders/aggregators/insertAggregator.ts +0 -120
  248. package/src/builders/aggregators/selectAggregator.ts +0 -163
  249. package/src/builders/aggregators/updateAggregator.ts +0 -56
  250. package/src/builders/highLvlBuilders/abstractRequestBuilder.ts +0 -51
  251. package/src/builders/highLvlBuilders/deleteRequestBuilder.ts +0 -59
  252. package/src/builders/highLvlBuilders/insertRequestBuilder.ts +0 -75
  253. package/src/builders/highLvlBuilders/order.ts +0 -4
  254. package/src/builders/highLvlBuilders/selectRequestBuilder.ts +0 -229
  255. package/src/builders/highLvlBuilders/updateRequestBuilder.ts +0 -80
  256. package/src/builders/index.ts +0 -21
  257. package/src/builders/joinBuilders/builders/abstractJoinBuilder.ts +0 -98
  258. package/src/builders/joinBuilders/builders/selectWithFiveJoins.ts +0 -110
  259. package/src/builders/joinBuilders/builders/selectWithFourJoins.ts +0 -254
  260. package/src/builders/joinBuilders/builders/selectWithJoin.ts +0 -189
  261. package/src/builders/joinBuilders/builders/selectWithThreeJoins.ts +0 -231
  262. package/src/builders/joinBuilders/builders/selectWithTwoJoins.ts +0 -210
  263. package/src/builders/joinBuilders/join.ts +0 -40
  264. package/src/builders/joinBuilders/joinWith.ts +0 -21
  265. package/src/builders/joinBuilders/responses/selectResponseFiveJoins.ts +0 -82
  266. package/src/builders/joinBuilders/responses/selectResponseFourJoins.ts +0 -73
  267. package/src/builders/joinBuilders/responses/selectResponseThreeJoins.ts +0 -64
  268. package/src/builders/joinBuilders/responses/selectResponseTwoJoins.ts +0 -57
  269. package/src/builders/joinBuilders/responses/selectResponseWithJoin.ts +0 -49
  270. package/src/builders/joinBuilders/static.ts +0 -9
  271. package/src/builders/lowLvlBuilders/alter.ts +0 -0
  272. package/src/builders/lowLvlBuilders/create.ts +0 -115
  273. package/src/builders/lowLvlBuilders/delets/delete.ts +0 -13
  274. package/src/builders/lowLvlBuilders/delets/deleteFilter.ts +0 -17
  275. package/src/builders/lowLvlBuilders/delets/deleteFrom.ts +0 -15
  276. package/src/builders/lowLvlBuilders/inserts/insert.ts +0 -11
  277. package/src/builders/lowLvlBuilders/inserts/insertInto.ts +0 -16
  278. package/src/builders/lowLvlBuilders/inserts/onConflictInsert.ts +0 -19
  279. package/src/builders/lowLvlBuilders/inserts/valuesInsert.ts +0 -27
  280. package/src/builders/lowLvlBuilders/selects/select.ts +0 -14
  281. package/src/builders/lowLvlBuilders/selects/selectFrom.ts +0 -50
  282. package/src/builders/lowLvlBuilders/selects/selectJoined.ts +0 -44
  283. package/src/builders/lowLvlBuilders/selects/whereSelect.ts +0 -36
  284. package/src/builders/lowLvlBuilders/updates/update.ts +0 -13
  285. package/src/builders/lowLvlBuilders/updates/updateIn.ts +0 -17
  286. package/src/builders/lowLvlBuilders/updates/whereSelect.ts +0 -17
  287. package/src/builders/lowLvlBuilders/updates/whereSet.ts +0 -21
  288. package/src/builders/requestBuilders/updates/combine.ts +0 -34
  289. package/src/builders/requestBuilders/updates/increment.ts +0 -24
  290. package/src/builders/requestBuilders/updates/setObjects.ts +0 -27
  291. package/src/builders/requestBuilders/updates/static.ts +0 -15
  292. package/src/builders/requestBuilders/updates/updates.ts +0 -8
  293. package/src/builders/requestBuilders/where/and.ts +0 -35
  294. package/src/builders/requestBuilders/where/const.ts +0 -23
  295. package/src/builders/requestBuilders/where/constArray.ts +0 -37
  296. package/src/builders/requestBuilders/where/eqWhere.ts +0 -20
  297. package/src/builders/requestBuilders/where/greater.ts +0 -20
  298. package/src/builders/requestBuilders/where/greaterEq.ts +0 -20
  299. package/src/builders/requestBuilders/where/in.ts +0 -20
  300. package/src/builders/requestBuilders/where/isNotNull.ts +0 -17
  301. package/src/builders/requestBuilders/where/isNull.ts +0 -17
  302. package/src/builders/requestBuilders/where/less.ts +0 -20
  303. package/src/builders/requestBuilders/where/lessEq.ts +0 -20
  304. package/src/builders/requestBuilders/where/like.ts +0 -20
  305. package/src/builders/requestBuilders/where/notEqWhere.ts +0 -20
  306. package/src/builders/requestBuilders/where/or.ts +0 -35
  307. package/src/builders/requestBuilders/where/rawWhere.ts +0 -10
  308. package/src/builders/requestBuilders/where/static.ts +0 -60
  309. package/src/builders/requestBuilders/where/var.ts +0 -19
  310. package/src/builders/requestBuilders/where/where.ts +0 -5
  311. package/src/builders/transaction/transaction.ts +0 -21
  312. package/src/columns/column.ts +0 -195
  313. package/src/columns/index.ts +0 -10
  314. package/src/columns/types/columnType.ts +0 -8
  315. package/src/columns/types/pgBigDecimal.ts +0 -29
  316. package/src/columns/types/pgBigInt.ts +0 -36
  317. package/src/columns/types/pgBigSerial.ts +0 -36
  318. package/src/columns/types/pgBoolean.ts +0 -18
  319. package/src/columns/types/pgEnum.ts +0 -17
  320. package/src/columns/types/pgInteger.ts +0 -21
  321. package/src/columns/types/pgJsonb.ts +0 -21
  322. package/src/columns/types/pgSerial.ts +0 -18
  323. package/src/columns/types/pgSmallInt.ts +0 -18
  324. package/src/columns/types/pgText.ts +0 -18
  325. package/src/columns/types/pgTime.ts +0 -18
  326. package/src/columns/types/pgTimestamp.ts +0 -18
  327. package/src/columns/types/pgTimestamptz.ts +0 -18
  328. package/src/columns/types/pgVarChar.ts +0 -24
  329. package/src/db/db.ts +0 -43
  330. package/src/db/dbConnector.ts +0 -30
  331. package/src/db/dbStringConnector.ts +0 -29
  332. package/src/db/group_by.ts +0 -75
  333. package/src/db/index.ts +0 -4
  334. package/src/db/session.ts +0 -16
  335. package/src/docs/cases/simple_delete.ts +0 -35
  336. package/src/docs/cases/simple_insert.ts +0 -65
  337. package/src/docs/cases/simple_join.ts +0 -140
  338. package/src/docs/cases/simple_select.ts +0 -72
  339. package/src/docs/cases/simple_update.ts +0 -40
  340. package/src/docs/tables/citiesTable.ts +0 -22
  341. package/src/docs/tables/userGroupsTable.ts +0 -12
  342. package/src/docs/tables/usersTable.ts +0 -33
  343. package/src/docs/tables/usersToUserGroups.ts +0 -14
  344. package/src/docs/types/rolesType.ts +0 -4
  345. package/src/errors/baseError.ts +0 -47
  346. package/src/errors/builderError.ts +0 -31
  347. package/src/errors/dbErrors.ts +0 -24
  348. package/src/index.ts +0 -20
  349. package/src/indexes/tableIndex.ts +0 -25
  350. package/src/logger/abstractLogger.ts +0 -4
  351. package/src/logger/consoleLogger.ts +0 -11
  352. package/src/mappers/index.ts +0 -0
  353. package/src/mappers/responseMapper.ts +0 -46
  354. package/src/migrator/index.ts +0 -0
  355. package/src/migrator/migrator.ts +0 -97
  356. package/src/serializer/serializer.ts +0 -336
  357. package/src/tables/abstractTable.ts +0 -188
  358. package/src/tables/index.ts +0 -4
  359. package/src/tables/inferTypes.ts +0 -67
  360. package/src/tables/migrationsTable.ts +0 -11
  361. package/src/types/type.ts +0 -15
  362. package/src/utils/ecranate.ts +0 -4
  363. package/tsconfig.json +0 -14
File without changes
package/package.json CHANGED
@@ -1,9 +1,12 @@
1
1
  {
2
2
  "name": "drizzle-orm",
3
- "version": "0.10.29",
3
+ "version": "0.10.32",
4
4
  "description": "",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
5
+ "main": "index.js",
6
+ "types": "index.d.ts",
7
+ "files": [
8
+ "dist"
9
+ ],
7
10
  "repository": {
8
11
  "type": "git",
9
12
  "url": "git+https://github.com/lambda-direct/drizzle-orm.git",
@@ -34,6 +37,5 @@
34
37
  "ts": "tsc",
35
38
  "lint": "eslint ./src --ext .ts",
36
39
  "run": "ts-node src/tables/newAbstractTable.ts"
37
- },
38
- "readme": "# DrizzleORM\n\n**DrizzleORM** is an ORM framework for \n[TypeScript](https://www.typescriptlang.org/).\nIt offers you several levels of Database communication:\n* Typesafe Table View approach \n* Typesafe Query Builder\n* Simple SQL query execution\n\nDrizzle ORM is highly influenced by [Exposed](https://github.com/JetBrains/Exposed) and Jetbrains development methodology\n\n## Supported Databases\n\n* PostgreSQL\n\n## Links\n\nIn Progress\n\n## Installing\n\n```bash\nnpm install drizzle-orm drizzle-kit\n```\n#### **In Progress**\n```bash\nyarn add drizzle-orm drizzle-kit\nbower install drizzle-orm drizzle-kit\n```\n\n## Connecting to database\n\n```tsx\nimport { DbConnector } from \"drizzle-orm\";\n\n// connect via postgresql connection url\nconst db = await new DbConnector()\n\t.connectionString(\"postgres://user:password@host:port/db\")\n\t.connect();\n\n// or by params\nconst db = await new DbConnector()\n\t.params({\n\t\thost: '0.0.0.0',\n\t\tport: 5432,\n\t\tuser: 'user',\n\t\tpassword: 'password',\n\t\tdb: 'optional_db_name'\n\t}).connect();\n```\n## Project structure\n- tables folder\n- migrations folder\n\n## Create tables\n### Users Table\n---\n```typescript\n\nexport const rolesEnum = createEnum({ alias: 'test-enum', values: ['user', 'guest', 'admin'] });\n\nexport default class UsersTable extends AbstractTable<UsersTable> {\n public id = this.serial('id').primaryKey();\n public fullName = this.text('full_name');\n\n public phone = this.varchar('phone', { size: 256 });\n public media = this.jsonb<string[]>('media');\n public decimalField = this.decimal('test', { precision: 100, scale: 2 }).notNull();\n public bigIntField = this.bigint('test1', 'max_bytes_53');\n public role = this.type(rolesEnum, 'name_in_table').notNull();\n\n public createdAt = this.timestamp('created_at').notNull();\n\n public createdAtWithTimezone = this.timestamptz('created_at_time_zone');\n\n public updatedAt = this.timestamp('updated_at').defaultValue(Defaults.CURRENT_TIMESTAMP);\n public isArchived = this.bool('is_archived').defaultValue(false);\n\n public phoneFullNameIndex = this.index([this.phone, this.fullName]);\n public phoneIndex = this.uniqueIndex(this.phone);\n\n public tableName(): string {\n return 'users';\n }\n}\n```\n### Cities Table\n---\n```typescript\ninterface CityMeta {\n population: number,\n connection: string,\n}\n\nexport default class CitiesTable extends AbstractTable<CitiesTable> {\n public id = this.serial('id').primaryKey();\n\n public foundationDate = this.timestamp('name').notNull();\n public location = this.varchar('page', { size: 256 });\n\n public userId = this.int('user_id').foreignKey(UsersTable, (table) => table.id, { onUpdate: 'CASCADE' });\n\n public metadata = this.jsonb<CityMeta>('metadata');\n\n public tableName(): string {\n return 'cities';\n }\n}\n```\n### User Groups Table\n---\n```typescript\nexport default class UserGroupsTable extends AbstractTable<UserGroupsTable> {\n public id = this.serial('id').primaryKey();\n\n public name = this.varchar('name');\n public description = this.varchar('description');\n\n public tableName(): string {\n return 'user_groups';\n }\n}\n```\n### User to User Groups Table\n---\n#### Many to many connection between Users and User Groups\n```typescript\nexport default class UsersToUserGroupsTable extends AbstractTable<UsersToUserGroupsTable> {\n public groupId = this.int('city_id').foreignKey(UserGroupsTable, (table) => table.id, { onDelete: 'CASCADE' });\n public userId = this.int('user_id').foreignKey(UsersTable, (table) => table.id, { onDelete: 'CASCADE' });\n\n public manyToManyIndex = this.index([this.groupId, this.userId]);\n\n public tableName(): string {\n return 'users_to_user_groups';\n }\n}\n```\n\n## CRUD\n### **SELECT**\n---\n```typescript\nconst db = await new DbConnector()\n .connectionString('postgresql://postgres@127.0.0.1/drizzle')\n .connect();\n\nconst usersTable = new UsersTable(db);\n\n// select all\nconst allSelect = await usersTable.select().all();\n\n// select first\nconst firstSelect = await usersTable.select().findOne();\n```\n#### **Sorting and Filtering**\n---\n##### Select all records from `Users` where phone is `\"hello\"`\n```typescript\nconst eqSelect = await usersTable.select().where(\n eq(usersTable.phone, 'hello')\n).all();\n```\n##### Select all records from `Users` where **both** phone is `\"hello\"` **and** phone is `\"hello\"`\n```typescript\nconst andSelect = await usersTable.select().where(\n and([\n eq(usersTable.phone, 'hello'),\n eq(usersTable.phone, 'hello')\n ]),\n).all();\n```\n##### Select all records from `Users` where **either** phone is `\"hello\"` **or** phone is `\"hello\"`\n```typescript\nconst orSelect = await usersTable.select().where(\n or([eq(usersTable.phone, 'hello')]),\n).all();\n```\n##### Select all records from `Users` using **LIMIT** and **OFFSET**\n```typescript\nconst limitOffsetSelect = await usersTable.select().limit(10).offset(10).all();\n```\n##### Select all records from `Users` where `phone` contains `\"hello\"`\n```typescript\nconst likeSelect = await usersTable.select().where(\n like(usersTable.phone, '%hello%')\n).all();\n```\n##### Select all records from `Users` where `phone` equals to some of values from array\n```typescript\nconst inArraySelect = usersTable.select().where(\n inArray(usersTable.phone, ['hello'])\n).all();\n```\n##### Select all records from `Users` where `phone` greater(**>**) than `\"hello\"`\n```typescript\nconst greaterSelect = usersTable.select().where(\n greater(usersTable.phone, 'hello')\n).all();\n```\n##### Select all records from `Users` where `phone` less(**<**) than `\"hello\"`\n```typescript\nconst lessSelect = usersTable.select().where(\n less(usersTable.phone, 'hello')\n).all();\n```\n##### Select all records from `Users` where `phone` greater or equals(**>=**) than `\"hello\"`\n```typescript\nconst greaterEqSelect = usersTable.select().where(\n greaterEq(usersTable.phone, 'hello')\n).all();\n```\n##### Select all records from `Users` where `phone` less or equals(**<=**) \n```typescript\nconst lessEqSelect = usersTable.select().where(\n lessEq(usersTable.phone, 'hello')\n).all();\n```\n##### Select all records from `Users` where `phone` is **NULL**\n```typescript\nconst isNullSelect = usersTable.select().where(\n isNull(usersTable.phone)\n).all();\n```\n##### Select all records from `Users` where `phone` not equals to `\"hello\"`\n```typescript\nconst notEqSelect = usersTable.select().where(\n notEq(usersTable.phone, 'hello')\n).all();\n```\n##### Select all records from `Users` ordered by `phone` in ascending order\n```typescript\nconst ordered = await usersTable.select().orderBy((table) => table.phone, Order.ASC).all();\n```\n#### **Partial Selecting**\n ```typescript\n const partialSelect = await usersTable.select({\n mappedId: usersTable.id,\n mappedPhone: usersTable.phone,\n }).all();\n\n // Usage\n const { mappedId, mappedPhone } = partialSelect;\n ```\n\n\n### **Update**\n---\n##### Update `fullName` to `newName` in `Users` where phone is `\"hello\"`\n```typescript\nawait usersTable.update()\n .where(eq(usersTable.phone, 'hello'))\n .set({ fullName: 'newName' })\n .execute();\n```\n##### Update `fullName` to `newName` in `Users` where phone is `\"hello\"` returning updated `User` model\n```typescript\nawait usersTable.update()\n .where(eq(usersTable.phone, 'hello'))\n .set({ fullName: 'newName' })\n .all();\n```\n##### Update `fullName` to `newName` in `Users` where phone is `\"hello\"` returning updated `User` model\n```typescript\nawait usersTable.update()\n .where(eq(usersTable.phone, 'hello'))\n .set({ fullName: 'newName' })\n .findOne();\n```\n\n### **Delete**\n##### Delete `user` where phone is `\"hello\"`\n```typescript\nawait usersTable.delete()\n .where(eq(usersTable.phone, 'hello'))\n .execute();\n```\n##### Delete `user` where phone is `\"hello\"` returning updated `User` model\n```typescript\nawait usersTable.delete()\n .where(eq(usersTable.phone, 'hello'))\n .all();\n```\n##### Delete `user` where phone is `\"hello\"` returning updated `User` model\n```typescript\nawait usersTable.delete()\n .where(eq(usersTable.phone, 'hello'))\n .findOne();\n```\n\n### **Insert**\n##### Insert `user` with required fields\n```typescript\nawait usersTable.insert({\n test: 1,\n createdAt: new Date(),\n}).execute();\n```\n##### Insert `user` with required fields and get all rows as array\n```typescript\nconst user = await usersTable.insert({\n test: 1,\n createdAt: new Date(),\n}).all();\n```\n##### Insert `user` with required fields and get inserted entity\n```typescript\nconst user = await usersTable.insert({\n test: 1,\n createdAt: new Date(),\n}).findOne();\n```\n##### Insert many `users` with required fields and get all inserted entities\n```typescript\nconst users = await usersTable.insertMany([{\n test: 1,\n createdAt: new Date(),\n }, {\n test: 2,\n createdAt: new Date(),\n }]).all();\n```\n##### Insert many `users` with required fields and get all inserted entities. If such user already exists - update `phone` field\n```typescript\nawait usersTable.insertMany([{\n test: 1,\n createdAt: new Date(),\n }, {\n test: 2,\n createdAt: new Date(),\n }])\n .onConflict(\n (table) => table.phoneIndex,\n { phone: 'confilctUpdate' },\n ).all();\n```\n\n## Joins\n### Join One-To-Many Tables\n##### Join Cities with Users and map to city object with full user\n```typescript\nconst usersTable = new UsersTable(db);\nconst citiesTable = new CitiesTable(db);\n\n const userWithCities = await citiesTable.select()\n .where(eq(citiesTable.id, 1))\n .leftJoin(UsersTable,\n (city) => city.userId,\n (users) => users.id)\n .execute();\n\nconst citiesWithUserObject = userWithCities.map((city, user) => ({ ...city, user }));\n```\n\n### Join Many-To-Many Tables\n##### Join User Groups with Users, using many-to-many table and map response to get user object with groups array\n```typescript\n const usersWithUserGroups = await usersToUserGroupsTable.select()\n .where(eq(userGroupsTable.id, 1))\n .leftJoin(UsersTable,\n (userToGroup) => userToGroup.userId,\n (users) => users.id)\n .leftJoin(UsersToUserGroupsTable, UserGroupsTable,\n (userToGroup) => userToGroup.groupId,\n (users) => users.id)\n .execute();\n\n const userGroupWithUsers = usersWithUserGroups.group({\n one: (_, dbUser, dbUserGroup) => dbUser!,\n many: (_, dbUser, dbUserGroup) => dbUserGroup!,\n });\n\n const userWithGroups: ExtractModel<UsersTable> & { groups: ExtractModel<UserGroupsTable>[] } = {\n ...userGroupWithUsers.one,\n groups: userGroupWithUsers.many,\n };\n```\n##### Join User Groups with Users, using many-to-many table and map response to get user group object with users array\n```typescript\n const usersWithUserGroups = await usersToUserGroupsTable.select()\n .where(eq(userGroupsTable.id, 1))\n .leftJoin(UsersTable,\n (userToGroup) => userToGroup.userId,\n (users) => users.id)\n .leftJoin(UsersToUserGroupsTable, UserGroupsTable,\n (userToGroup) => userToGroup.groupId,\n (users) => users.id)\n .execute();\n\n const userGroupWithUsers = usersWithUserGroups.group({\n one: (_, dbUser, dbUserGroup) => dbUserGroup!,\n many: (_, dbUser, dbUserGroup) => dbUser!,\n });\n\n const userWithGroups: ExtractModel<UserGroupsTable> & { users: ExtractModel<UsersTable>[] } = {\n ...userGroupWithUsers.one,\n users: userGroupWithUsers.many,\n };\n```\n### Join using partial field select\n##### Join Cities with Users getting only needed fields form request\n```typescript\nawait citiesTable.select({\n id: citiesTable.id,\n userId: citiesTable.userId,\n })\n .where(eq(citiesTable.id, 1))\n .leftJoin(UsersTable,\n (city) => city.userId,\n (users) => users.id,\n {\n id: usersTable.id,\n })\n .execute();\n\nconst citiesWithUserObject = userWithCities.map((city, user) => ({ ...city, user }));\n```\n\n\n## Migrations\n#### To run migrations generated by drizzle-kit you could use `Migrator` class\n##### Provide drizzle-kit config path\n```typescript\nawait drizzle.migrator(db).migrate('src/drizzle.config.yaml');\n```\n##### Another possibility is to provide object with path to folder with migrations\n```typescript\nawait drizzle.migrator(db).migrate({ migrationFolder: 'drizzle' });\n```\n\n\n## Raw query usage\n#### If you have some complex queries to execute and drizzle-orm can't handle them yet, then you could use `rawQuery` execution\n\n\n##### Execute custom raw query\n```typescript\nconst res: QueryResult<any> = await db.session().execute('SELECT * FROM users WHERE user.id = $1', [1]);\n```"
40
+ }
39
41
  }
package/.eslintrc DELETED
@@ -1,28 +0,0 @@
1
- {
2
- "extends": ["airbnb-typescript/base"],
3
- "plugins": ["prefer-arrow"],
4
- "parserOptions": {
5
- "project": "./orm/tsconfig.json"
6
- },
7
- "rules": {
8
- "@typescript-eslint/explicit-member-accessibility": "error",
9
- "@typescript-eslint/lines-between-class-members": ["error", "always", { "exceptAfterSingleLine": true }],
10
- "no-underscore-dangle": ["off"],
11
- "@typescript-eslint/member-ordering": ["error", { "default": [
12
- "public-field",
13
- "protected-field",
14
- "private-field",
15
- "constructor",
16
- "static-method",
17
- "public-method",
18
- "protected-method",
19
- "private-method"
20
- ] }],
21
- "class-methods-use-this": "off",
22
- "import/no-named-as-default": 0,
23
- "import/no-named-as-default-member": 0,
24
- // "prefer-arrow/prefer-arrow-functions": ["error", { "classPropertiesAllowed": true }],
25
- "import/no-extraneous-dependencies": ["error", { "devDependencies": ["webpack.config.ts"] }],
26
- "linebreak-style": 0
27
- }
28
- }
package/.tslintignore DELETED
@@ -1 +0,0 @@
1
- *.test.ts
package/CHANGELOG.md DELETED
@@ -1,202 +0,0 @@
1
- # Changelog
2
-
3
- ### 0.10.6 (Fabruary 06, 2022)
4
- ### Fixes and Functionality:
5
- - Move from simple query execution to parameterized queries
6
- ### Breaking changes:
7
- - For `raw` query execution you need to provide values together with query
8
- #### Previous you could run simple query
9
- ```typescript
10
- const res: QueryResult<any> = await db.session().execute('SELECT * FROM users WHERE user.id = 1');
11
- ```
12
- #### Currently you need to provide prepared statement with values as array
13
- ```typescript
14
- const res: QueryResult<any> = await db.session().execute('SELECT * FROM users WHERE user.id = $1', [1]);
15
- ```
16
- It's still possible to execute query as before, without providing any values array. But we highly recommend to separate those
17
-
18
- ---
19
- ### 0.10.4 (Fabruary 02, 2022)
20
- ### Fixes and Functionality:
21
- - Fix `int` and `smallint` mappings from pg driver
22
- ---
23
- ### 0.10.0 (January 27, 2022)
24
- ### Breaking changes:
25
- - Move limit offset to function calls
26
- #### Previous limit/offset usage:
27
- ```typescript
28
- await usersTable.select({limit: 20, offset: 20}).all();
29
- ```
30
- #### Current limit/offset usage:
31
- ```typescript
32
- await usersTable.select().limit(20).offset(20).all();
33
- ```
34
- - Change join calls starting from second one
35
-
36
- Starting from second join you need to provide table to join from. As long as PostgreSQL has a possibility to join on tables, that already were in previous joins, we need to have a possibility to clarify from which exact table we need to join
37
- #### Previous join funcition call with parameters:
38
- ```typescript
39
- await usersToUserGroupsTable.select()
40
- .where(eq(userGroupsTable.id, 1))
41
- .leftJoin(UsersTable,
42
- (userToGroup) => userToGroup.userId,
43
- (users) => users.id)
44
- .leftJoin(UserGroupsTable,
45
- (userToGroup) => userToGroup.groupId,
46
- (userGroup) => userGroup.id)
47
- .execute()
48
- ```
49
- #### Current join funcition call with parameters:
50
- ```typescript
51
- await usersToUserGroupsTable.select()
52
- .where(eq(userGroupsTable.id, 1))
53
- .leftJoin(UsersTable,
54
- (userToGroup) => userToGroup.userId,
55
- (users) => users.id)
56
- .leftJoin(UsersToUserGroupsTable, UserGroupsTable,
57
- (userToGroup) => userToGroup.groupId,
58
- (userGroup) => userGroup.id)
59
- .execute()
60
- ```
61
- - Create partial select on simple select + on each join
62
-
63
- If you want to select only specific fields from select request you could provide your own interface with columns to map to:
64
- #### Example
65
- ```typescript
66
- const partialSelect = await usersTable.select({
67
- id: usersTable.id,
68
- phone: usersTable.phone,
69
- }).all();
70
-
71
- // Usage
72
- const { mappedId, mappedPhone } = partialSelect;
73
- ```
74
-
75
- Same could be done with specific columns selecting on joined tables
76
- #### Example
77
- ```typescript
78
- const usersWithUserGroups = await usersToUserGroupsTable.select()
79
- .where(eq(userGroupsTable.id, 1))
80
- .leftJoin(UsersTable,
81
- (userToGroup) => userToGroup.userId,
82
- (users) => users.id,
83
- // Partial fields to be selected from UsersTable
84
- {
85
- id: usersTable.id,
86
- })
87
- .leftJoin(UsersToUserGroupsTable, UserGroupsTable,
88
- (userToGroup) => userToGroup.groupId,
89
- (userGroup) => userGroup.id,
90
- // Partial fields to be selected from UserGroupsTable
91
- {
92
- id: userGroupsTable.id,
93
- })
94
- .execute();
95
- ```
96
-
97
- - Create possibility to have self FK and self joins
98
-
99
- You could create FK on same table you are creating it from
100
- #### Example
101
- ```typescript
102
- public cityId = this.int('city_id').foreignKey(CitiesTable, (table) => table.id, { onUpdate: 'CASCADE' });
103
- ```
104
- - Delete first() on execution and add findOne(), that will throw an error
105
-
106
- Previously we had `.first()` function, that was just getting first element from rows returned from `pg` driver
107
- Right now, invoking `.findOne()` function should check if response contains exactly 1 element in repsponse. If not, it will throw an error
108
- ### Example
109
- ```typescript
110
- const firstSelect = await usersTable.select().findOne();
111
- ```
112
- - Fix wrong types. Right now you won't get undefined from select query
113
- ---
114
-
115
- ### 0.9.19 (January 24, 2022)
116
- ### Fixes and Functionality:
117
- - Fix all queries by `Date`
118
-
119
- ---
120
-
121
- ### 0.9.18 (December 28, 2021)
122
- ### Fixes and Functionality:
123
- - Fix `any` type returning from `.notNull()` and `.primaryKey()` functions
124
-
125
- ---
126
-
127
- ### 0.9.17 (December 27, 2021)
128
- ### Fixes and Functionality:
129
- - Add serializer `fromDb()` method to introspect selected database to drizzle-kit json shanpsot format
130
-
131
- ---
132
- ### 0.9.16 (December 27, 2021)
133
- ### Breaking changes:
134
- - Delete `autoincrement` type on columns. Right now you should use `serial` type
135
-
136
- #### Previous serial column defining:
137
- ```typescript
138
- public id = this.int('id').autoincrement();
139
- ```
140
- #### Current serial column defining:
141
- ```typescript
142
- public id = this.serial('id');
143
- ```
144
-
145
- - Move `notNull` from column type metadata to builder chain
146
- #### Previous notNull defining:
147
- ```typescript
148
- public phone = this.varchar('phone', { notNull: true });
149
- ```
150
- #### Current notNull defining:
151
- ```typescript
152
- public phone = this.varchar('phone').notNull();
153
- ```
154
-
155
- - Divide `BigInt` into 2 types -> `BigInt53` and `BigInt64`
156
- - Divide `BigSerial` into 2 types -> `BigSerial53` and `BigSerial64`
157
-
158
- Due to have max value for big integers in postgres as 2^64 and javascript max value for integers is 2^53
159
-
160
- If you sure, that value in this column won't be more than 2^53 you could use:
161
- ```typescript
162
- public bigIntField = this.bigint('test1', 'max_bytes_53');
163
- ```
164
- that will be of type `number` in typescript
165
-
166
- If value in this column could be more than 2^53 you could use:
167
- ```typescript
168
- public bigIntField = this.bigint('test1', 'max_bytes_64');
169
- ```
170
- that will be of type `bigint` in typescript
171
- ---
172
-
173
- ### Fixes and Functionality:
174
- - Add `SET NULL` and `SET DEFAULT` for `ON DELETE` and `ON UPDATE` constraints
175
-
176
- #### Example of usage
177
- ```typescript
178
- public userId = this.int('user_id').foreignKey(UsersTable, (table) => table.id, { onUpdate: 'SET NULL' });
179
-
180
- public userId = this.int('user_id').foreignKey(UsersTable, (table) => table.id, { onDelete: 'SET DEFAULT' });
181
- ```
182
- - Add default value for timestamp
183
- ```typescript
184
- public createdAt = this.timestamp('created_at').defaultValue(Defaults.CURRENT_TIMESTAMP);
185
- ```
186
- - Add `timestamp with timezone` type
187
- ```typescript
188
- public createdAt = this.timestamptz('created_at');
189
- ```
190
- - Add migrator function to use `drizzle-kit` generated migrations
191
- ##### Provide drizzle-kit config path
192
- ```typescript
193
- await drizzle.migrator(db).migrate('src/drizzle.config.yaml');
194
- ```
195
- ##### Provide object with path to folder with migrations
196
- ```typescript
197
- await drizzle.migrator(db).migrate({ migrationFolder: 'drizzle' });
198
- ```
199
- ---
200
-
201
- ### Documentation:
202
- - Change README documentation for all changes in current release