@payloadcms/drizzle 3.0.0-beta.100

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 (378) hide show
  1. package/README.md +3 -0
  2. package/dist/count.d.ts +3 -0
  3. package/dist/count.d.ts.map +1 -0
  4. package/dist/count.js +25 -0
  5. package/dist/count.js.map +1 -0
  6. package/dist/create.d.ts +3 -0
  7. package/dist/create.d.ts.map +1 -0
  8. package/dist/create.js +19 -0
  9. package/dist/create.js.map +1 -0
  10. package/dist/createGlobal.d.ts +4 -0
  11. package/dist/createGlobal.d.ts.map +1 -0
  12. package/dist/createGlobal.js +19 -0
  13. package/dist/createGlobal.js.map +1 -0
  14. package/dist/createGlobalVersion.d.ts +4 -0
  15. package/dist/createGlobalVersion.d.ts.map +1 -0
  16. package/dist/createGlobalVersion.js +36 -0
  17. package/dist/createGlobalVersion.js.map +1 -0
  18. package/dist/createTableName.d.ts +31 -0
  19. package/dist/createTableName.d.ts.map +1 -0
  20. package/dist/createTableName.js +35 -0
  21. package/dist/createTableName.js.map +1 -0
  22. package/dist/createVersion.d.ts +4 -0
  23. package/dist/createVersion.d.ts.map +1 -0
  24. package/dist/createVersion.js +45 -0
  25. package/dist/createVersion.js.map +1 -0
  26. package/dist/deleteMany.d.ts +3 -0
  27. package/dist/deleteMany.d.ts.map +1 -0
  28. package/dist/deleteMany.js +32 -0
  29. package/dist/deleteMany.js.map +1 -0
  30. package/dist/deleteOne.d.ts +3 -0
  31. package/dist/deleteOne.d.ts.map +1 -0
  32. package/dist/deleteOne.js +63 -0
  33. package/dist/deleteOne.js.map +1 -0
  34. package/dist/deleteVersions.d.ts +3 -0
  35. package/dist/deleteVersions.d.ts.map +1 -0
  36. package/dist/deleteVersions.js +35 -0
  37. package/dist/deleteVersions.js.map +1 -0
  38. package/dist/destroy.d.ts +3 -0
  39. package/dist/destroy.d.ts.map +1 -0
  40. package/dist/destroy.js +17 -0
  41. package/dist/destroy.js.map +1 -0
  42. package/dist/exports/postgres.d.ts +14 -0
  43. package/dist/exports/postgres.d.ts.map +1 -0
  44. package/dist/exports/postgres.js +15 -0
  45. package/dist/exports/postgres.js.map +1 -0
  46. package/dist/find/buildFindManyArgs.d.ts +17 -0
  47. package/dist/find/buildFindManyArgs.d.ts.map +1 -0
  48. package/dist/find/buildFindManyArgs.js +66 -0
  49. package/dist/find/buildFindManyArgs.js.map +1 -0
  50. package/dist/find/chainMethods.d.ts +16 -0
  51. package/dist/find/chainMethods.d.ts.map +1 -0
  52. package/dist/find/chainMethods.js +12 -0
  53. package/dist/find/chainMethods.js.map +1 -0
  54. package/dist/find/findMany.d.ts +21 -0
  55. package/dist/find/findMany.d.ts.map +1 -0
  56. package/dist/find/findMany.js +141 -0
  57. package/dist/find/findMany.js.map +1 -0
  58. package/dist/find/traverseFields.d.ts +18 -0
  59. package/dist/find/traverseFields.d.ts.map +1 -0
  60. package/dist/find/traverseFields.js +164 -0
  61. package/dist/find/traverseFields.js.map +1 -0
  62. package/dist/find.d.ts +3 -0
  63. package/dist/find.d.ts.map +1 -0
  64. package/dist/find.js +21 -0
  65. package/dist/find.js.map +1 -0
  66. package/dist/findGlobal.d.ts +3 -0
  67. package/dist/findGlobal.d.ts.map +1 -0
  68. package/dist/findGlobal.js +23 -0
  69. package/dist/findGlobal.js.map +1 -0
  70. package/dist/findGlobalVersions.d.ts +3 -0
  71. package/dist/findGlobalVersions.d.ts.map +1 -0
  72. package/dist/findGlobalVersions.js +24 -0
  73. package/dist/findGlobalVersions.js.map +1 -0
  74. package/dist/findMigrationDir.d.ts +16 -0
  75. package/dist/findMigrationDir.d.ts.map +1 -0
  76. package/dist/findMigrationDir.js +38 -0
  77. package/dist/findMigrationDir.js.map +1 -0
  78. package/dist/findOne.d.ts +4 -0
  79. package/dist/findOne.d.ts.map +1 -0
  80. package/dist/findOne.js +21 -0
  81. package/dist/findOne.js.map +1 -0
  82. package/dist/findVersions.d.ts +3 -0
  83. package/dist/findVersions.d.ts.map +1 -0
  84. package/dist/findVersions.js +24 -0
  85. package/dist/findVersions.js.map +1 -0
  86. package/dist/index.d.ts +38 -0
  87. package/dist/index.d.ts.map +1 -0
  88. package/dist/index.js +38 -0
  89. package/dist/index.js.map +1 -0
  90. package/dist/migrate.d.ts +3 -0
  91. package/dist/migrate.d.ts.map +1 -0
  92. package/dist/migrate.js +94 -0
  93. package/dist/migrate.js.map +1 -0
  94. package/dist/migrateDown.d.ts +3 -0
  95. package/dist/migrateDown.d.ts.map +1 -0
  96. package/dist/migrateDown.js +63 -0
  97. package/dist/migrateDown.js.map +1 -0
  98. package/dist/migrateFresh.d.ts +8 -0
  99. package/dist/migrateFresh.d.ts.map +1 -0
  100. package/dist/migrateFresh.js +76 -0
  101. package/dist/migrateFresh.js.map +1 -0
  102. package/dist/migrateRefresh.d.ts +6 -0
  103. package/dist/migrateRefresh.d.ts.map +1 -0
  104. package/dist/migrateRefresh.js +103 -0
  105. package/dist/migrateRefresh.js.map +1 -0
  106. package/dist/migrateReset.d.ts +6 -0
  107. package/dist/migrateReset.d.ts.map +1 -0
  108. package/dist/migrateReset.js +84 -0
  109. package/dist/migrateReset.js.map +1 -0
  110. package/dist/migrateStatus.d.ts +3 -0
  111. package/dist/migrateStatus.d.ts.map +1 -0
  112. package/dist/migrateStatus.js +43 -0
  113. package/dist/migrateStatus.js.map +1 -0
  114. package/dist/postgres/countDistinct.d.ts +3 -0
  115. package/dist/postgres/countDistinct.d.ts.map +1 -0
  116. package/dist/postgres/countDistinct.js +24 -0
  117. package/dist/postgres/countDistinct.js.map +1 -0
  118. package/dist/postgres/createJSONQuery/convertPathToJSONTraversal.d.ts +2 -0
  119. package/dist/postgres/createJSONQuery/convertPathToJSONTraversal.d.ts.map +1 -0
  120. package/dist/postgres/createJSONQuery/convertPathToJSONTraversal.js +16 -0
  121. package/dist/postgres/createJSONQuery/convertPathToJSONTraversal.js.map +1 -0
  122. package/dist/postgres/createJSONQuery/formatJSONPathSegment.d.ts +2 -0
  123. package/dist/postgres/createJSONQuery/formatJSONPathSegment.d.ts.map +1 -0
  124. package/dist/postgres/createJSONQuery/formatJSONPathSegment.js +5 -0
  125. package/dist/postgres/createJSONQuery/formatJSONPathSegment.js.map +1 -0
  126. package/dist/postgres/createJSONQuery/index.d.ts +10 -0
  127. package/dist/postgres/createJSONQuery/index.d.ts.map +1 -0
  128. package/dist/postgres/createJSONQuery/index.js +54 -0
  129. package/dist/postgres/createJSONQuery/index.js.map +1 -0
  130. package/dist/postgres/createMigration.d.ts +3 -0
  131. package/dist/postgres/createMigration.d.ts.map +1 -0
  132. package/dist/postgres/createMigration.js +92 -0
  133. package/dist/postgres/createMigration.js.map +1 -0
  134. package/dist/postgres/defaultSnapshot.d.ts +3 -0
  135. package/dist/postgres/defaultSnapshot.d.ts.map +1 -0
  136. package/dist/postgres/defaultSnapshot.js +17 -0
  137. package/dist/postgres/defaultSnapshot.js.map +1 -0
  138. package/dist/postgres/deleteWhere.d.ts +3 -0
  139. package/dist/postgres/deleteWhere.d.ts.map +1 -0
  140. package/dist/postgres/deleteWhere.js +6 -0
  141. package/dist/postgres/deleteWhere.js.map +1 -0
  142. package/dist/postgres/dropDatabase.d.ts +3 -0
  143. package/dist/postgres/dropDatabase.d.ts.map +1 -0
  144. package/dist/postgres/dropDatabase.js +9 -0
  145. package/dist/postgres/dropDatabase.js.map +1 -0
  146. package/dist/postgres/execute.d.ts +3 -0
  147. package/dist/postgres/execute.d.ts.map +1 -0
  148. package/dist/postgres/execute.js +11 -0
  149. package/dist/postgres/execute.js.map +1 -0
  150. package/dist/postgres/getMigrationTemplate.d.ts +4 -0
  151. package/dist/postgres/getMigrationTemplate.d.ts.map +1 -0
  152. package/dist/postgres/getMigrationTemplate.js +13 -0
  153. package/dist/postgres/getMigrationTemplate.js.map +1 -0
  154. package/dist/postgres/init.d.ts +3 -0
  155. package/dist/postgres/init.d.ts.map +1 -0
  156. package/dist/postgres/init.js +95 -0
  157. package/dist/postgres/init.js.map +1 -0
  158. package/dist/postgres/insert.d.ts +3 -0
  159. package/dist/postgres/insert.d.ts.map +1 -0
  160. package/dist/postgres/insert.js +12 -0
  161. package/dist/postgres/insert.js.map +1 -0
  162. package/dist/postgres/requireDrizzleKit.d.ts +3 -0
  163. package/dist/postgres/requireDrizzleKit.d.ts.map +1 -0
  164. package/dist/postgres/requireDrizzleKit.js +5 -0
  165. package/dist/postgres/requireDrizzleKit.js.map +1 -0
  166. package/dist/postgres/schema/build.d.ts +40 -0
  167. package/dist/postgres/schema/build.d.ts.map +1 -0
  168. package/dist/postgres/schema/build.js +377 -0
  169. package/dist/postgres/schema/build.js.map +1 -0
  170. package/dist/postgres/schema/createIndex.d.ts +12 -0
  171. package/dist/postgres/schema/createIndex.d.ts.map +1 -0
  172. package/dist/postgres/schema/createIndex.js +20 -0
  173. package/dist/postgres/schema/createIndex.js.map +1 -0
  174. package/dist/postgres/schema/idToUUID.d.ts +3 -0
  175. package/dist/postgres/schema/idToUUID.d.ts.map +1 -0
  176. package/dist/postgres/schema/idToUUID.js +11 -0
  177. package/dist/postgres/schema/idToUUID.js.map +1 -0
  178. package/dist/postgres/schema/parentIDColumnMap.d.ts +4 -0
  179. package/dist/postgres/schema/parentIDColumnMap.d.ts.map +1 -0
  180. package/dist/postgres/schema/parentIDColumnMap.js +9 -0
  181. package/dist/postgres/schema/parentIDColumnMap.js.map +1 -0
  182. package/dist/postgres/schema/setColumnID.d.ts +11 -0
  183. package/dist/postgres/schema/setColumnID.d.ts.map +1 -0
  184. package/dist/postgres/schema/setColumnID.js +24 -0
  185. package/dist/postgres/schema/setColumnID.js.map +1 -0
  186. package/dist/postgres/schema/traverseFields.d.ts +40 -0
  187. package/dist/postgres/schema/traverseFields.d.ts.map +1 -0
  188. package/dist/postgres/schema/traverseFields.js +712 -0
  189. package/dist/postgres/schema/traverseFields.js.map +1 -0
  190. package/dist/postgres/schema/withDefault.d.ts +4 -0
  191. package/dist/postgres/schema/withDefault.d.ts.map +1 -0
  192. package/dist/postgres/schema/withDefault.js +12 -0
  193. package/dist/postgres/schema/withDefault.js.map +1 -0
  194. package/dist/postgres/types.d.ts +112 -0
  195. package/dist/postgres/types.d.ts.map +1 -0
  196. package/dist/postgres/types.js +3 -0
  197. package/dist/postgres/types.js.map +1 -0
  198. package/dist/queries/buildAndOrConditions.d.ts +16 -0
  199. package/dist/queries/buildAndOrConditions.d.ts.map +1 -0
  200. package/dist/queries/buildAndOrConditions.js +26 -0
  201. package/dist/queries/buildAndOrConditions.js.map +1 -0
  202. package/dist/queries/buildQuery.d.ts +29 -0
  203. package/dist/queries/buildQuery.d.ts.map +1 -0
  204. package/dist/queries/buildQuery.js +72 -0
  205. package/dist/queries/buildQuery.js.map +1 -0
  206. package/dist/queries/getTableAlias.d.ts +13 -0
  207. package/dist/queries/getTableAlias.d.ts.map +1 -0
  208. package/dist/queries/getTableAlias.js +20 -0
  209. package/dist/queries/getTableAlias.js.map +1 -0
  210. package/dist/queries/getTableColumnFromPath.d.ts +51 -0
  211. package/dist/queries/getTableColumnFromPath.d.ts.map +1 -0
  212. package/dist/queries/getTableColumnFromPath.js +534 -0
  213. package/dist/queries/getTableColumnFromPath.js.map +1 -0
  214. package/dist/queries/operatorMap.d.ts +6 -0
  215. package/dist/queries/operatorMap.d.ts.map +1 -0
  216. package/dist/queries/operatorMap.js +24 -0
  217. package/dist/queries/operatorMap.js.map +1 -0
  218. package/dist/queries/parseParams.d.ts +16 -0
  219. package/dist/queries/parseParams.d.ts.map +1 -0
  220. package/dist/queries/parseParams.js +188 -0
  221. package/dist/queries/parseParams.js.map +1 -0
  222. package/dist/queries/sanitizeQueryValue.d.ts +15 -0
  223. package/dist/queries/sanitizeQueryValue.d.ts.map +1 -0
  224. package/dist/queries/sanitizeQueryValue.js +128 -0
  225. package/dist/queries/sanitizeQueryValue.js.map +1 -0
  226. package/dist/queries/selectDistinct.d.ts +21 -0
  227. package/dist/queries/selectDistinct.d.ts.map +1 -0
  228. package/dist/queries/selectDistinct.js +38 -0
  229. package/dist/queries/selectDistinct.js.map +1 -0
  230. package/dist/queryDrafts.d.ts +3 -0
  231. package/dist/queryDrafts.d.ts.map +1 -0
  232. package/dist/queryDrafts.js +39 -0
  233. package/dist/queryDrafts.js.map +1 -0
  234. package/dist/transactions/beginTransaction.d.ts +3 -0
  235. package/dist/transactions/beginTransaction.d.ts.map +1 -0
  236. package/dist/transactions/beginTransaction.js +50 -0
  237. package/dist/transactions/beginTransaction.js.map +1 -0
  238. package/dist/transactions/commitTransaction.d.ts +3 -0
  239. package/dist/transactions/commitTransaction.d.ts.map +1 -0
  240. package/dist/transactions/commitTransaction.js +17 -0
  241. package/dist/transactions/commitTransaction.js.map +1 -0
  242. package/dist/transactions/rollbackTransaction.d.ts +3 -0
  243. package/dist/transactions/rollbackTransaction.d.ts.map +1 -0
  244. package/dist/transactions/rollbackTransaction.js +14 -0
  245. package/dist/transactions/rollbackTransaction.js.map +1 -0
  246. package/dist/transform/read/hasManyNumber.d.ts +11 -0
  247. package/dist/transform/read/hasManyNumber.d.ts.map +1 -0
  248. package/dist/transform/read/hasManyNumber.js +20 -0
  249. package/dist/transform/read/hasManyNumber.js.map +1 -0
  250. package/dist/transform/read/hasManyText.d.ts +11 -0
  251. package/dist/transform/read/hasManyText.d.ts.map +1 -0
  252. package/dist/transform/read/hasManyText.js +20 -0
  253. package/dist/transform/read/hasManyText.js.map +1 -0
  254. package/dist/transform/read/index.d.ts +13 -0
  255. package/dist/transform/read/index.d.ts.map +1 -0
  256. package/dist/transform/read/index.js +44 -0
  257. package/dist/transform/read/index.js.map +1 -0
  258. package/dist/transform/read/relationship.d.ts +11 -0
  259. package/dist/transform/read/relationship.d.ts.map +1 -0
  260. package/dist/transform/read/relationship.js +69 -0
  261. package/dist/transform/read/relationship.js.map +1 -0
  262. package/dist/transform/read/traverseFields.d.ts +60 -0
  263. package/dist/transform/read/traverseFields.d.ts.map +1 -0
  264. package/dist/transform/read/traverseFields.js +456 -0
  265. package/dist/transform/read/traverseFields.js.map +1 -0
  266. package/dist/transform/write/array.d.ts +31 -0
  267. package/dist/transform/write/array.d.ts.map +1 -0
  268. package/dist/transform/write/array.js +62 -0
  269. package/dist/transform/write/array.js.map +1 -0
  270. package/dist/transform/write/blocks.d.ts +30 -0
  271. package/dist/transform/write/blocks.d.ts.map +1 -0
  272. package/dist/transform/write/blocks.js +66 -0
  273. package/dist/transform/write/blocks.js.map +1 -0
  274. package/dist/transform/write/index.d.ts +13 -0
  275. package/dist/transform/write/index.d.ts.map +1 -0
  276. package/dist/transform/write/index.js +41 -0
  277. package/dist/transform/write/index.js.map +1 -0
  278. package/dist/transform/write/numbers.d.ts +8 -0
  279. package/dist/transform/write/numbers.d.ts.map +1 -0
  280. package/dist/transform/write/numbers.js +11 -0
  281. package/dist/transform/write/numbers.js.map +1 -0
  282. package/dist/transform/write/relationships.d.ts +10 -0
  283. package/dist/transform/write/relationships.d.ts.map +1 -0
  284. package/dist/transform/write/relationships.js +27 -0
  285. package/dist/transform/write/relationships.js.map +1 -0
  286. package/dist/transform/write/selects.d.ts +8 -0
  287. package/dist/transform/write/selects.d.ts.map +1 -0
  288. package/dist/transform/write/selects.js +20 -0
  289. package/dist/transform/write/selects.js.map +1 -0
  290. package/dist/transform/write/texts.d.ts +8 -0
  291. package/dist/transform/write/texts.d.ts.map +1 -0
  292. package/dist/transform/write/texts.js +11 -0
  293. package/dist/transform/write/texts.js.map +1 -0
  294. package/dist/transform/write/traverseFields.d.ts +55 -0
  295. package/dist/transform/write/traverseFields.d.ts.map +1 -0
  296. package/dist/transform/write/traverseFields.js +474 -0
  297. package/dist/transform/write/traverseFields.js.map +1 -0
  298. package/dist/transform/write/types.d.ts +43 -0
  299. package/dist/transform/write/types.d.ts.map +1 -0
  300. package/dist/transform/write/types.js +3 -0
  301. package/dist/transform/write/types.js.map +1 -0
  302. package/dist/types.d.ts +145 -0
  303. package/dist/types.d.ts.map +1 -0
  304. package/dist/types.js +3 -0
  305. package/dist/types.js.map +1 -0
  306. package/dist/update.d.ts +3 -0
  307. package/dist/update.d.ts.map +1 -0
  308. package/dist/update.js +54 -0
  309. package/dist/update.js.map +1 -0
  310. package/dist/updateGlobal.d.ts +4 -0
  311. package/dist/updateGlobal.d.ts.map +1 -0
  312. package/dist/updateGlobal.js +25 -0
  313. package/dist/updateGlobal.js.map +1 -0
  314. package/dist/updateGlobalVersion.d.ts +4 -0
  315. package/dist/updateGlobalVersion.d.ts.map +1 -0
  316. package/dist/updateGlobalVersion.js +36 -0
  317. package/dist/updateGlobalVersion.js.map +1 -0
  318. package/dist/updateVersion.d.ts +4 -0
  319. package/dist/updateVersion.d.ts.map +1 -0
  320. package/dist/updateVersion.js +36 -0
  321. package/dist/updateVersion.js.map +1 -0
  322. package/dist/upsertRow/deleteExistingArrayRows.d.ts +10 -0
  323. package/dist/upsertRow/deleteExistingArrayRows.d.ts.map +1 -0
  324. package/dist/upsertRow/deleteExistingArrayRows.js +14 -0
  325. package/dist/upsertRow/deleteExistingArrayRows.js.map +1 -0
  326. package/dist/upsertRow/deleteExistingRowsByPath.d.ts +14 -0
  327. package/dist/upsertRow/deleteExistingRowsByPath.d.ts.map +1 -0
  328. package/dist/upsertRow/deleteExistingRowsByPath.js +45 -0
  329. package/dist/upsertRow/deleteExistingRowsByPath.js.map +1 -0
  330. package/dist/upsertRow/index.d.ts +4 -0
  331. package/dist/upsertRow/index.d.ts.map +1 -0
  332. package/dist/upsertRow/index.js +372 -0
  333. package/dist/upsertRow/index.js.map +1 -0
  334. package/dist/upsertRow/insertArrays.d.ts +13 -0
  335. package/dist/upsertRow/insertArrays.d.ts.map +1 -0
  336. package/dist/upsertRow/insertArrays.js +76 -0
  337. package/dist/upsertRow/insertArrays.js.map +1 -0
  338. package/dist/upsertRow/types.d.ts +32 -0
  339. package/dist/upsertRow/types.d.ts.map +1 -0
  340. package/dist/upsertRow/types.js +3 -0
  341. package/dist/upsertRow/types.js.map +1 -0
  342. package/dist/utilities/appendPrefixToKeys.d.ts +2 -0
  343. package/dist/utilities/appendPrefixToKeys.d.ts.map +1 -0
  344. package/dist/utilities/appendPrefixToKeys.js +6 -0
  345. package/dist/utilities/appendPrefixToKeys.js.map +1 -0
  346. package/dist/utilities/createBlocksMap.d.ts +5 -0
  347. package/dist/utilities/createBlocksMap.d.ts.map +1 -0
  348. package/dist/utilities/createBlocksMap.js +31 -0
  349. package/dist/utilities/createBlocksMap.js.map +1 -0
  350. package/dist/utilities/createRelationshipMap.d.ts +2 -0
  351. package/dist/utilities/createRelationshipMap.d.ts.map +1 -0
  352. package/dist/utilities/createRelationshipMap.js +21 -0
  353. package/dist/utilities/createRelationshipMap.js.map +1 -0
  354. package/dist/utilities/hasLocalesTable.d.ts +3 -0
  355. package/dist/utilities/hasLocalesTable.d.ts.map +1 -0
  356. package/dist/utilities/hasLocalesTable.js +21 -0
  357. package/dist/utilities/hasLocalesTable.js.map +1 -0
  358. package/dist/utilities/isArrayOfRows.d.ts +2 -0
  359. package/dist/utilities/isArrayOfRows.d.ts.map +1 -0
  360. package/dist/utilities/isArrayOfRows.js +5 -0
  361. package/dist/utilities/isArrayOfRows.js.map +1 -0
  362. package/dist/utilities/migrationTableExists.d.ts +3 -0
  363. package/dist/utilities/migrationTableExists.d.ts.map +1 -0
  364. package/dist/utilities/migrationTableExists.js +25 -0
  365. package/dist/utilities/migrationTableExists.js.map +1 -0
  366. package/dist/utilities/parseError.d.ts +5 -0
  367. package/dist/utilities/parseError.d.ts.map +1 -0
  368. package/dist/utilities/parseError.js +15 -0
  369. package/dist/utilities/parseError.js.map +1 -0
  370. package/dist/utilities/pushDevSchema.d.ts +9 -0
  371. package/dist/utilities/pushDevSchema.d.ts.map +1 -0
  372. package/dist/utilities/pushDevSchema.js +55 -0
  373. package/dist/utilities/pushDevSchema.js.map +1 -0
  374. package/dist/utilities/validateExistingBlockIsIdentical.d.ts +11 -0
  375. package/dist/utilities/validateExistingBlockIsIdentical.d.ts.map +1 -0
  376. package/dist/utilities/validateExistingBlockIsIdentical.js +76 -0
  377. package/dist/utilities/validateExistingBlockIsIdentical.js.map +1 -0
  378. package/package.json +62 -0
@@ -0,0 +1,103 @@
1
+ import { commitTransaction, getMigrations, initTransaction, killTransaction, readMigrationFiles } from 'payload';
2
+ import { migrationTableExists } from './utilities/migrationTableExists.js';
3
+ import { parseError } from './utilities/parseError.js';
4
+ /**
5
+ * Run all migration down functions before running up
6
+ */ export async function migrateRefresh() {
7
+ const { payload } = this;
8
+ const migrationFiles = await readMigrationFiles({
9
+ payload
10
+ });
11
+ const { existingMigrations, latestBatch } = await getMigrations({
12
+ payload
13
+ });
14
+ if (!existingMigrations?.length) {
15
+ payload.logger.info({
16
+ msg: 'No migrations to rollback.'
17
+ });
18
+ return;
19
+ }
20
+ payload.logger.info({
21
+ msg: `Rolling back batch ${latestBatch} consisting of ${existingMigrations.length} migration(s).`
22
+ });
23
+ const req = {
24
+ payload
25
+ };
26
+ // Reverse order of migrations to rollback
27
+ existingMigrations.reverse();
28
+ for (const migration of existingMigrations){
29
+ try {
30
+ const migrationFile = migrationFiles.find((m)=>m.name === migration.name);
31
+ if (!migrationFile) {
32
+ throw new Error(`Migration ${migration.name} not found locally.`);
33
+ }
34
+ payload.logger.info({
35
+ msg: `Migrating down: ${migration.name}`
36
+ });
37
+ const start = Date.now();
38
+ await initTransaction(req);
39
+ await migrationFile.down({
40
+ payload,
41
+ req
42
+ });
43
+ payload.logger.info({
44
+ msg: `Migrated down: ${migration.name} (${Date.now() - start}ms)`
45
+ });
46
+ const tableExists = await migrationTableExists(this);
47
+ if (tableExists) {
48
+ await payload.delete({
49
+ collection: 'payload-migrations',
50
+ req,
51
+ where: {
52
+ name: {
53
+ equals: migration.name
54
+ }
55
+ }
56
+ });
57
+ }
58
+ await commitTransaction(req);
59
+ } catch (err) {
60
+ await killTransaction(req);
61
+ payload.logger.error({
62
+ err,
63
+ msg: parseError(err, `Error running migration ${migration.name}. Rolling back.`)
64
+ });
65
+ process.exit(1);
66
+ }
67
+ }
68
+ // Run all migrate up
69
+ for (const migration of migrationFiles){
70
+ payload.logger.info({
71
+ msg: `Migrating: ${migration.name}`
72
+ });
73
+ try {
74
+ const start = Date.now();
75
+ await initTransaction(req);
76
+ await migration.up({
77
+ payload,
78
+ req
79
+ });
80
+ await payload.create({
81
+ collection: 'payload-migrations',
82
+ data: {
83
+ name: migration.name,
84
+ executed: true
85
+ },
86
+ req
87
+ });
88
+ await commitTransaction(req);
89
+ payload.logger.info({
90
+ msg: `Migrated: ${migration.name} (${Date.now() - start}ms)`
91
+ });
92
+ } catch (err) {
93
+ await killTransaction(req);
94
+ payload.logger.error({
95
+ err,
96
+ msg: parseError(err, `Error running migration ${migration.name}. Rolling back.`)
97
+ });
98
+ process.exit(1);
99
+ }
100
+ }
101
+ }
102
+
103
+ //# sourceMappingURL=migrateRefresh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/migrateRefresh.ts"],"sourcesContent":["import type { PayloadRequest } from 'payload'\n\nimport {\n commitTransaction,\n getMigrations,\n initTransaction,\n killTransaction,\n readMigrationFiles,\n} from 'payload'\n\nimport type { DrizzleAdapter } from './types.js'\n\nimport { migrationTableExists } from './utilities/migrationTableExists.js'\nimport { parseError } from './utilities/parseError.js'\n\n/**\n * Run all migration down functions before running up\n */\nexport async function migrateRefresh(this: DrizzleAdapter) {\n const { payload } = this\n const migrationFiles = await readMigrationFiles({ payload })\n\n const { existingMigrations, latestBatch } = await getMigrations({\n payload,\n })\n\n if (!existingMigrations?.length) {\n payload.logger.info({ msg: 'No migrations to rollback.' })\n return\n }\n\n payload.logger.info({\n msg: `Rolling back batch ${latestBatch} consisting of ${existingMigrations.length} migration(s).`,\n })\n\n const req = { payload } as PayloadRequest\n\n // Reverse order of migrations to rollback\n existingMigrations.reverse()\n\n for (const migration of existingMigrations) {\n try {\n const migrationFile = migrationFiles.find((m) => m.name === migration.name)\n if (!migrationFile) {\n throw new Error(`Migration ${migration.name} not found locally.`)\n }\n\n payload.logger.info({ msg: `Migrating down: ${migration.name}` })\n const start = Date.now()\n await initTransaction(req)\n await migrationFile.down({ payload, req })\n payload.logger.info({\n msg: `Migrated down: ${migration.name} (${Date.now() - start}ms)`,\n })\n\n const tableExists = await migrationTableExists(this)\n if (tableExists) {\n await payload.delete({\n collection: 'payload-migrations',\n req,\n where: {\n name: {\n equals: migration.name,\n },\n },\n })\n }\n await commitTransaction(req)\n } catch (err: unknown) {\n await killTransaction(req)\n payload.logger.error({\n err,\n msg: parseError(err, `Error running migration ${migration.name}. Rolling back.`),\n })\n process.exit(1)\n }\n }\n\n // Run all migrate up\n for (const migration of migrationFiles) {\n payload.logger.info({ msg: `Migrating: ${migration.name}` })\n try {\n const start = Date.now()\n await initTransaction(req)\n await migration.up({ payload, req })\n await payload.create({\n collection: 'payload-migrations',\n data: {\n name: migration.name,\n executed: true,\n },\n req,\n })\n await commitTransaction(req)\n\n payload.logger.info({ msg: `Migrated: ${migration.name} (${Date.now() - start}ms)` })\n } catch (err: unknown) {\n await killTransaction(req)\n payload.logger.error({\n err,\n msg: parseError(err, `Error running migration ${migration.name}. Rolling back.`),\n })\n process.exit(1)\n }\n }\n}\n"],"names":["commitTransaction","getMigrations","initTransaction","killTransaction","readMigrationFiles","migrationTableExists","parseError","migrateRefresh","payload","migrationFiles","existingMigrations","latestBatch","length","logger","info","msg","req","reverse","migration","migrationFile","find","m","name","Error","start","Date","now","down","tableExists","delete","collection","where","equals","err","error","process","exit","up","create","data","executed"],"mappings":"AAEA,SACEA,iBAAiB,EACjBC,aAAa,EACbC,eAAe,EACfC,eAAe,EACfC,kBAAkB,QACb,UAAS;AAIhB,SAASC,oBAAoB,QAAQ,sCAAqC;AAC1E,SAASC,UAAU,QAAQ,4BAA2B;AAEtD;;CAEC,GACD,OAAO,eAAeC;IACpB,MAAM,EAAEC,OAAO,EAAE,GAAG,IAAI;IACxB,MAAMC,iBAAiB,MAAML,mBAAmB;QAAEI;IAAQ;IAE1D,MAAM,EAAEE,kBAAkB,EAAEC,WAAW,EAAE,GAAG,MAAMV,cAAc;QAC9DO;IACF;IAEA,IAAI,CAACE,oBAAoBE,QAAQ;QAC/BJ,QAAQK,MAAM,CAACC,IAAI,CAAC;YAAEC,KAAK;QAA6B;QACxD;IACF;IAEAP,QAAQK,MAAM,CAACC,IAAI,CAAC;QAClBC,KAAK,CAAC,mBAAmB,EAAEJ,YAAY,eAAe,EAAED,mBAAmBE,MAAM,CAAC,cAAc,CAAC;IACnG;IAEA,MAAMI,MAAM;QAAER;IAAQ;IAEtB,0CAA0C;IAC1CE,mBAAmBO,OAAO;IAE1B,KAAK,MAAMC,aAAaR,mBAAoB;QAC1C,IAAI;YACF,MAAMS,gBAAgBV,eAAeW,IAAI,CAAC,CAACC,IAAMA,EAAEC,IAAI,KAAKJ,UAAUI,IAAI;YAC1E,IAAI,CAACH,eAAe;gBAClB,MAAM,IAAII,MAAM,CAAC,UAAU,EAAEL,UAAUI,IAAI,CAAC,mBAAmB,CAAC;YAClE;YAEAd,QAAQK,MAAM,CAACC,IAAI,CAAC;gBAAEC,KAAK,CAAC,gBAAgB,EAAEG,UAAUI,IAAI,CAAC,CAAC;YAAC;YAC/D,MAAME,QAAQC,KAAKC,GAAG;YACtB,MAAMxB,gBAAgBc;YACtB,MAAMG,cAAcQ,IAAI,CAAC;gBAAEnB;gBAASQ;YAAI;YACxCR,QAAQK,MAAM,CAACC,IAAI,CAAC;gBAClBC,KAAK,CAAC,gBAAgB,EAAEG,UAAUI,IAAI,CAAC,EAAE,EAAEG,KAAKC,GAAG,KAAKF,MAAM,GAAG,CAAC;YACpE;YAEA,MAAMI,cAAc,MAAMvB,qBAAqB,IAAI;YACnD,IAAIuB,aAAa;gBACf,MAAMpB,QAAQqB,MAAM,CAAC;oBACnBC,YAAY;oBACZd;oBACAe,OAAO;wBACLT,MAAM;4BACJU,QAAQd,UAAUI,IAAI;wBACxB;oBACF;gBACF;YACF;YACA,MAAMtB,kBAAkBgB;QAC1B,EAAE,OAAOiB,KAAc;YACrB,MAAM9B,gBAAgBa;YACtBR,QAAQK,MAAM,CAACqB,KAAK,CAAC;gBACnBD;gBACAlB,KAAKT,WAAW2B,KAAK,CAAC,wBAAwB,EAAEf,UAAUI,IAAI,CAAC,eAAe,CAAC;YACjF;YACAa,QAAQC,IAAI,CAAC;QACf;IACF;IAEA,qBAAqB;IACrB,KAAK,MAAMlB,aAAaT,eAAgB;QACtCD,QAAQK,MAAM,CAACC,IAAI,CAAC;YAAEC,KAAK,CAAC,WAAW,EAAEG,UAAUI,IAAI,CAAC,CAAC;QAAC;QAC1D,IAAI;YACF,MAAME,QAAQC,KAAKC,GAAG;YACtB,MAAMxB,gBAAgBc;YACtB,MAAME,UAAUmB,EAAE,CAAC;gBAAE7B;gBAASQ;YAAI;YAClC,MAAMR,QAAQ8B,MAAM,CAAC;gBACnBR,YAAY;gBACZS,MAAM;oBACJjB,MAAMJ,UAAUI,IAAI;oBACpBkB,UAAU;gBACZ;gBACAxB;YACF;YACA,MAAMhB,kBAAkBgB;YAExBR,QAAQK,MAAM,CAACC,IAAI,CAAC;gBAAEC,KAAK,CAAC,WAAW,EAAEG,UAAUI,IAAI,CAAC,EAAE,EAAEG,KAAKC,GAAG,KAAKF,MAAM,GAAG,CAAC;YAAC;QACtF,EAAE,OAAOS,KAAc;YACrB,MAAM9B,gBAAgBa;YACtBR,QAAQK,MAAM,CAACqB,KAAK,CAAC;gBACnBD;gBACAlB,KAAKT,WAAW2B,KAAK,CAAC,wBAAwB,EAAEf,UAAUI,IAAI,CAAC,eAAe,CAAC;YACjF;YACAa,QAAQC,IAAI,CAAC;QACf;IACF;AACF"}
@@ -0,0 +1,6 @@
1
+ import type { DrizzleAdapter } from './types.js';
2
+ /**
3
+ * Run all migrate down functions
4
+ */
5
+ export declare function migrateReset(this: DrizzleAdapter): Promise<void>;
6
+ //# sourceMappingURL=migrateReset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrateReset.d.ts","sourceRoot":"","sources":["../src/migrateReset.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAIhD;;GAEG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAwEtE"}
@@ -0,0 +1,84 @@
1
+ import { commitTransaction, getMigrations, initTransaction, killTransaction, readMigrationFiles } from 'payload';
2
+ import { migrationTableExists } from './utilities/migrationTableExists.js';
3
+ /**
4
+ * Run all migrate down functions
5
+ */ export async function migrateReset() {
6
+ const { payload } = this;
7
+ const migrationFiles = await readMigrationFiles({
8
+ payload
9
+ });
10
+ const { existingMigrations } = await getMigrations({
11
+ payload
12
+ });
13
+ if (!existingMigrations?.length) {
14
+ payload.logger.info({
15
+ msg: 'No migrations to reset.'
16
+ });
17
+ return;
18
+ }
19
+ const req = {
20
+ payload
21
+ };
22
+ // Rollback all migrations in order
23
+ for (const migration of existingMigrations){
24
+ const migrationFile = migrationFiles.find((m)=>m.name === migration.name);
25
+ try {
26
+ if (!migrationFile) {
27
+ throw new Error(`Migration ${migration.name} not found locally.`);
28
+ }
29
+ const start = Date.now();
30
+ payload.logger.info({
31
+ msg: `Migrating down: ${migrationFile.name}`
32
+ });
33
+ await initTransaction(req);
34
+ await migrationFile.down({
35
+ payload,
36
+ req
37
+ });
38
+ payload.logger.info({
39
+ msg: `Migrated down: ${migrationFile.name} (${Date.now() - start}ms)`
40
+ });
41
+ const tableExists = await migrationTableExists(this);
42
+ if (tableExists) {
43
+ await payload.delete({
44
+ id: migration.id,
45
+ collection: 'payload-migrations',
46
+ req
47
+ });
48
+ }
49
+ await commitTransaction(req);
50
+ } catch (err) {
51
+ let msg = `Error running migration ${migrationFile.name}.`;
52
+ if (err instanceof Error) {
53
+ msg += ` ${err.message}`;
54
+ }
55
+ await killTransaction(req);
56
+ payload.logger.error({
57
+ err,
58
+ msg
59
+ });
60
+ process.exit(1);
61
+ }
62
+ }
63
+ // Delete dev migration
64
+ const tableExists = await migrationTableExists(this);
65
+ if (tableExists) {
66
+ try {
67
+ await payload.delete({
68
+ collection: 'payload-migrations',
69
+ where: {
70
+ batch: {
71
+ equals: -1
72
+ }
73
+ }
74
+ });
75
+ } catch (err) {
76
+ payload.logger.error({
77
+ error: err,
78
+ msg: 'Error deleting dev migration'
79
+ });
80
+ }
81
+ }
82
+ }
83
+
84
+ //# sourceMappingURL=migrateReset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/migrateReset.ts"],"sourcesContent":["import type { PayloadRequest } from 'payload'\n\nimport {\n commitTransaction,\n getMigrations,\n initTransaction,\n killTransaction,\n readMigrationFiles,\n} from 'payload'\n\nimport type { DrizzleAdapter } from './types.js'\n\nimport { migrationTableExists } from './utilities/migrationTableExists.js'\n\n/**\n * Run all migrate down functions\n */\nexport async function migrateReset(this: DrizzleAdapter): Promise<void> {\n const { payload } = this\n const migrationFiles = await readMigrationFiles({ payload })\n\n const { existingMigrations } = await getMigrations({ payload })\n\n if (!existingMigrations?.length) {\n payload.logger.info({ msg: 'No migrations to reset.' })\n return\n }\n\n const req = { payload } as PayloadRequest\n\n // Rollback all migrations in order\n for (const migration of existingMigrations) {\n const migrationFile = migrationFiles.find((m) => m.name === migration.name)\n try {\n if (!migrationFile) {\n throw new Error(`Migration ${migration.name} not found locally.`)\n }\n\n const start = Date.now()\n payload.logger.info({ msg: `Migrating down: ${migrationFile.name}` })\n await initTransaction(req)\n await migrationFile.down({ payload, req })\n payload.logger.info({\n msg: `Migrated down: ${migrationFile.name} (${Date.now() - start}ms)`,\n })\n\n const tableExists = await migrationTableExists(this)\n if (tableExists) {\n await payload.delete({\n id: migration.id,\n collection: 'payload-migrations',\n req,\n })\n }\n\n await commitTransaction(req)\n } catch (err: unknown) {\n let msg = `Error running migration ${migrationFile.name}.`\n\n if (err instanceof Error) {\n msg += ` ${err.message}`\n }\n\n await killTransaction(req)\n payload.logger.error({\n err,\n msg,\n })\n process.exit(1)\n }\n }\n\n // Delete dev migration\n\n const tableExists = await migrationTableExists(this)\n if (tableExists) {\n try {\n await payload.delete({\n collection: 'payload-migrations',\n where: {\n batch: {\n equals: -1,\n },\n },\n })\n } catch (err: unknown) {\n payload.logger.error({ error: err, msg: 'Error deleting dev migration' })\n }\n }\n}\n"],"names":["commitTransaction","getMigrations","initTransaction","killTransaction","readMigrationFiles","migrationTableExists","migrateReset","payload","migrationFiles","existingMigrations","length","logger","info","msg","req","migration","migrationFile","find","m","name","Error","start","Date","now","down","tableExists","delete","id","collection","err","message","error","process","exit","where","batch","equals"],"mappings":"AAEA,SACEA,iBAAiB,EACjBC,aAAa,EACbC,eAAe,EACfC,eAAe,EACfC,kBAAkB,QACb,UAAS;AAIhB,SAASC,oBAAoB,QAAQ,sCAAqC;AAE1E;;CAEC,GACD,OAAO,eAAeC;IACpB,MAAM,EAAEC,OAAO,EAAE,GAAG,IAAI;IACxB,MAAMC,iBAAiB,MAAMJ,mBAAmB;QAAEG;IAAQ;IAE1D,MAAM,EAAEE,kBAAkB,EAAE,GAAG,MAAMR,cAAc;QAAEM;IAAQ;IAE7D,IAAI,CAACE,oBAAoBC,QAAQ;QAC/BH,QAAQI,MAAM,CAACC,IAAI,CAAC;YAAEC,KAAK;QAA0B;QACrD;IACF;IAEA,MAAMC,MAAM;QAAEP;IAAQ;IAEtB,mCAAmC;IACnC,KAAK,MAAMQ,aAAaN,mBAAoB;QAC1C,MAAMO,gBAAgBR,eAAeS,IAAI,CAAC,CAACC,IAAMA,EAAEC,IAAI,KAAKJ,UAAUI,IAAI;QAC1E,IAAI;YACF,IAAI,CAACH,eAAe;gBAClB,MAAM,IAAII,MAAM,CAAC,UAAU,EAAEL,UAAUI,IAAI,CAAC,mBAAmB,CAAC;YAClE;YAEA,MAAME,QAAQC,KAAKC,GAAG;YACtBhB,QAAQI,MAAM,CAACC,IAAI,CAAC;gBAAEC,KAAK,CAAC,gBAAgB,EAAEG,cAAcG,IAAI,CAAC,CAAC;YAAC;YACnE,MAAMjB,gBAAgBY;YACtB,MAAME,cAAcQ,IAAI,CAAC;gBAAEjB;gBAASO;YAAI;YACxCP,QAAQI,MAAM,CAACC,IAAI,CAAC;gBAClBC,KAAK,CAAC,gBAAgB,EAAEG,cAAcG,IAAI,CAAC,EAAE,EAAEG,KAAKC,GAAG,KAAKF,MAAM,GAAG,CAAC;YACxE;YAEA,MAAMI,cAAc,MAAMpB,qBAAqB,IAAI;YACnD,IAAIoB,aAAa;gBACf,MAAMlB,QAAQmB,MAAM,CAAC;oBACnBC,IAAIZ,UAAUY,EAAE;oBAChBC,YAAY;oBACZd;gBACF;YACF;YAEA,MAAMd,kBAAkBc;QAC1B,EAAE,OAAOe,KAAc;YACrB,IAAIhB,MAAM,CAAC,wBAAwB,EAAEG,cAAcG,IAAI,CAAC,CAAC,CAAC;YAE1D,IAAIU,eAAeT,OAAO;gBACxBP,OAAO,CAAC,CAAC,EAAEgB,IAAIC,OAAO,CAAC,CAAC;YAC1B;YAEA,MAAM3B,gBAAgBW;YACtBP,QAAQI,MAAM,CAACoB,KAAK,CAAC;gBACnBF;gBACAhB;YACF;YACAmB,QAAQC,IAAI,CAAC;QACf;IACF;IAEA,uBAAuB;IAEvB,MAAMR,cAAc,MAAMpB,qBAAqB,IAAI;IACnD,IAAIoB,aAAa;QACf,IAAI;YACF,MAAMlB,QAAQmB,MAAM,CAAC;gBACnBE,YAAY;gBACZM,OAAO;oBACLC,OAAO;wBACLC,QAAQ,CAAC;oBACX;gBACF;YACF;QACF,EAAE,OAAOP,KAAc;YACrBtB,QAAQI,MAAM,CAACoB,KAAK,CAAC;gBAAEA,OAAOF;gBAAKhB,KAAK;YAA+B;QACzE;IACF;AACF"}
@@ -0,0 +1,3 @@
1
+ import type { DrizzleAdapter } from './types.js';
2
+ export declare function migrateStatus(this: DrizzleAdapter): Promise<void>;
3
+ //# sourceMappingURL=migrateStatus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrateStatus.d.ts","sourceRoot":"","sources":["../src/migrateStatus.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAIhD,wBAAsB,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAuCvE"}
@@ -0,0 +1,43 @@
1
+ import { Table } from 'console-table-printer';
2
+ import { getMigrations, readMigrationFiles } from 'payload';
3
+ import { migrationTableExists } from './utilities/migrationTableExists.js';
4
+ export async function migrateStatus() {
5
+ const { payload } = this;
6
+ const migrationFiles = await readMigrationFiles({
7
+ payload
8
+ });
9
+ payload.logger.debug({
10
+ msg: `Found ${migrationFiles.length} migration files.`
11
+ });
12
+ let existingMigrations = [];
13
+ const hasMigrationTable = await migrationTableExists(this);
14
+ if (hasMigrationTable) {
15
+ ({ existingMigrations } = await getMigrations({
16
+ payload
17
+ }));
18
+ }
19
+ if (!migrationFiles.length) {
20
+ payload.logger.info({
21
+ msg: 'No migrations found.'
22
+ });
23
+ return;
24
+ }
25
+ // Compare migration files to existing migrations
26
+ const statuses = migrationFiles.map((migration)=>{
27
+ const existingMigration = existingMigrations.find((m)=>m.name === migration.name);
28
+ return {
29
+ Name: migration.name,
30
+ Batch: existingMigration?.batch,
31
+ Ran: existingMigration ? 'Yes' : 'No'
32
+ };
33
+ });
34
+ const p = new Table();
35
+ statuses.forEach((s)=>{
36
+ p.addRow(s, {
37
+ color: s.Ran === 'Yes' ? 'green' : 'red'
38
+ });
39
+ });
40
+ p.printTable();
41
+ }
42
+
43
+ //# sourceMappingURL=migrateStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/migrateStatus.ts"],"sourcesContent":["import { Table } from 'console-table-printer'\nimport { getMigrations, readMigrationFiles } from 'payload'\n\nimport type { DrizzleAdapter } from './types.js'\n\nimport { migrationTableExists } from './utilities/migrationTableExists.js'\n\nexport async function migrateStatus(this: DrizzleAdapter): Promise<void> {\n const { payload } = this\n const migrationFiles = await readMigrationFiles({ payload })\n\n payload.logger.debug({\n msg: `Found ${migrationFiles.length} migration files.`,\n })\n\n let existingMigrations = []\n const hasMigrationTable = await migrationTableExists(this)\n\n if (hasMigrationTable) {\n ;({ existingMigrations } = await getMigrations({ payload }))\n }\n\n if (!migrationFiles.length) {\n payload.logger.info({ msg: 'No migrations found.' })\n return\n }\n\n // Compare migration files to existing migrations\n const statuses = migrationFiles.map((migration) => {\n const existingMigration = existingMigrations.find((m) => m.name === migration.name)\n return {\n Name: migration.name,\n\n Batch: existingMigration?.batch,\n Ran: existingMigration ? 'Yes' : 'No',\n }\n })\n\n const p = new Table()\n\n statuses.forEach((s) => {\n p.addRow(s, {\n color: s.Ran === 'Yes' ? 'green' : 'red',\n })\n })\n p.printTable()\n}\n"],"names":["Table","getMigrations","readMigrationFiles","migrationTableExists","migrateStatus","payload","migrationFiles","logger","debug","msg","length","existingMigrations","hasMigrationTable","info","statuses","map","migration","existingMigration","find","m","name","Name","Batch","batch","Ran","p","forEach","s","addRow","color","printTable"],"mappings":"AAAA,SAASA,KAAK,QAAQ,wBAAuB;AAC7C,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,UAAS;AAI3D,SAASC,oBAAoB,QAAQ,sCAAqC;AAE1E,OAAO,eAAeC;IACpB,MAAM,EAAEC,OAAO,EAAE,GAAG,IAAI;IACxB,MAAMC,iBAAiB,MAAMJ,mBAAmB;QAAEG;IAAQ;IAE1DA,QAAQE,MAAM,CAACC,KAAK,CAAC;QACnBC,KAAK,CAAC,MAAM,EAAEH,eAAeI,MAAM,CAAC,iBAAiB,CAAC;IACxD;IAEA,IAAIC,qBAAqB,EAAE;IAC3B,MAAMC,oBAAoB,MAAMT,qBAAqB,IAAI;IAEzD,IAAIS,mBAAmB;QACnB,CAAA,EAAED,kBAAkB,EAAE,GAAG,MAAMV,cAAc;YAAEI;QAAQ,EAAC;IAC5D;IAEA,IAAI,CAACC,eAAeI,MAAM,EAAE;QAC1BL,QAAQE,MAAM,CAACM,IAAI,CAAC;YAAEJ,KAAK;QAAuB;QAClD;IACF;IAEA,iDAAiD;IACjD,MAAMK,WAAWR,eAAeS,GAAG,CAAC,CAACC;QACnC,MAAMC,oBAAoBN,mBAAmBO,IAAI,CAAC,CAACC,IAAMA,EAAEC,IAAI,KAAKJ,UAAUI,IAAI;QAClF,OAAO;YACLC,MAAML,UAAUI,IAAI;YAEpBE,OAAOL,mBAAmBM;YAC1BC,KAAKP,oBAAoB,QAAQ;QACnC;IACF;IAEA,MAAMQ,IAAI,IAAIzB;IAEdc,SAASY,OAAO,CAAC,CAACC;QAChBF,EAAEG,MAAM,CAACD,GAAG;YACVE,OAAOF,EAAEH,GAAG,KAAK,QAAQ,UAAU;QACrC;IACF;IACAC,EAAEK,UAAU;AACd"}
@@ -0,0 +1,3 @@
1
+ import type { CountDistinct } from './types.js';
2
+ export declare const countDistinct: CountDistinct;
3
+ //# sourceMappingURL=countDistinct.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"countDistinct.d.ts","sourceRoot":"","sources":["../../src/postgres/countDistinct.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAuB,aAAa,EAAE,MAAM,YAAY,CAAA;AAIpE,eAAO,MAAM,aAAa,EAAE,aAyB3B,CAAA"}
@@ -0,0 +1,24 @@
1
+ import { sql } from 'drizzle-orm';
2
+ import { chainMethods } from '../find/chainMethods.js';
3
+ export const countDistinct = async function countDistinct({ db, joins, tableName, where }) {
4
+ const chainedMethods = [];
5
+ joins.forEach(({ condition, table })=>{
6
+ chainedMethods.push({
7
+ args: [
8
+ table,
9
+ condition
10
+ ],
11
+ method: 'leftJoin'
12
+ });
13
+ });
14
+ const countResult = await chainMethods({
15
+ methods: chainedMethods,
16
+ query: db.select({
17
+ count: sql`count
18
+ (DISTINCT ${this.tables[tableName].id})`
19
+ }).from(this.tables[tableName]).where(where)
20
+ });
21
+ return Number(countResult[0].count);
22
+ };
23
+
24
+ //# sourceMappingURL=countDistinct.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/postgres/countDistinct.ts"],"sourcesContent":["import { sql } from 'drizzle-orm'\n\nimport type { ChainedMethods, TransactionPg } from '../types.js'\nimport type { BasePostgresAdapter, CountDistinct } from './types.js'\n\nimport { chainMethods } from '../find/chainMethods.js'\n\nexport const countDistinct: CountDistinct = async function countDistinct(\n this: BasePostgresAdapter,\n { db, joins, tableName, where },\n) {\n const chainedMethods: ChainedMethods = []\n\n joins.forEach(({ condition, table }) => {\n chainedMethods.push({\n args: [table, condition],\n method: 'leftJoin',\n })\n })\n\n const countResult = await chainMethods({\n methods: chainedMethods,\n query: (db as TransactionPg)\n .select({\n count: sql<string>`count\n (DISTINCT ${this.tables[tableName].id})`,\n })\n .from(this.tables[tableName])\n .where(where),\n })\n\n return Number(countResult[0].count)\n}\n"],"names":["sql","chainMethods","countDistinct","db","joins","tableName","where","chainedMethods","forEach","condition","table","push","args","method","countResult","methods","query","select","count","tables","id","from","Number"],"mappings":"AAAA,SAASA,GAAG,QAAQ,cAAa;AAKjC,SAASC,YAAY,QAAQ,0BAAyB;AAEtD,OAAO,MAAMC,gBAA+B,eAAeA,cAEzD,EAAEC,EAAE,EAAEC,KAAK,EAAEC,SAAS,EAAEC,KAAK,EAAE;IAE/B,MAAMC,iBAAiC,EAAE;IAEzCH,MAAMI,OAAO,CAAC,CAAC,EAAEC,SAAS,EAAEC,KAAK,EAAE;QACjCH,eAAeI,IAAI,CAAC;YAClBC,MAAM;gBAACF;gBAAOD;aAAU;YACxBI,QAAQ;QACV;IACF;IAEA,MAAMC,cAAc,MAAMb,aAAa;QACrCc,SAASR;QACTS,OAAO,AAACb,GACLc,MAAM,CAAC;YACNC,OAAOlB,GAAW,CAAC;sBACL,EAAE,IAAI,CAACmB,MAAM,CAACd,UAAU,CAACe,EAAE,CAAC,CAAC,CAAC;QAC9C,GACCC,IAAI,CAAC,IAAI,CAACF,MAAM,CAACd,UAAU,EAC3BC,KAAK,CAACA;IACX;IAEA,OAAOgB,OAAOR,WAAW,CAAC,EAAE,CAACI,KAAK;AACpC,EAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const convertPathToJSONTraversal: (incomingSegments: string[]) => string;
2
+ //# sourceMappingURL=convertPathToJSONTraversal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertPathToJSONTraversal.d.ts","sourceRoot":"","sources":["../../../src/postgres/createJSONQuery/convertPathToJSONTraversal.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,0BAA0B,qBAAsB,MAAM,EAAE,WAYpE,CAAA"}
@@ -0,0 +1,16 @@
1
+ import { formatJSONPathSegment } from './formatJSONPathSegment.js';
2
+ export const convertPathToJSONTraversal = (incomingSegments)=>{
3
+ const segments = [
4
+ ...incomingSegments
5
+ ];
6
+ segments.shift();
7
+ return segments.reduce((res, segment, i)=>{
8
+ const formattedSegment = formatJSONPathSegment(segment);
9
+ if (i + 1 === segments.length) {
10
+ return `${res}->>${formattedSegment}`;
11
+ }
12
+ return `${res}->${formattedSegment}`;
13
+ }, '');
14
+ };
15
+
16
+ //# sourceMappingURL=convertPathToJSONTraversal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/postgres/createJSONQuery/convertPathToJSONTraversal.ts"],"sourcesContent":["import { formatJSONPathSegment } from './formatJSONPathSegment.js'\n\nexport const convertPathToJSONTraversal = (incomingSegments: string[]) => {\n const segments = [...incomingSegments]\n segments.shift()\n\n return segments.reduce((res, segment, i) => {\n const formattedSegment = formatJSONPathSegment(segment)\n\n if (i + 1 === segments.length) {\n return `${res}->>${formattedSegment}`\n }\n return `${res}->${formattedSegment}`\n }, '')\n}\n"],"names":["formatJSONPathSegment","convertPathToJSONTraversal","incomingSegments","segments","shift","reduce","res","segment","i","formattedSegment","length"],"mappings":"AAAA,SAASA,qBAAqB,QAAQ,6BAA4B;AAElE,OAAO,MAAMC,6BAA6B,CAACC;IACzC,MAAMC,WAAW;WAAID;KAAiB;IACtCC,SAASC,KAAK;IAEd,OAAOD,SAASE,MAAM,CAAC,CAACC,KAAKC,SAASC;QACpC,MAAMC,mBAAmBT,sBAAsBO;QAE/C,IAAIC,IAAI,MAAML,SAASO,MAAM,EAAE;YAC7B,OAAO,CAAC,EAAEJ,IAAI,GAAG,EAAEG,iBAAiB,CAAC;QACvC;QACA,OAAO,CAAC,EAAEH,IAAI,EAAE,EAAEG,iBAAiB,CAAC;IACtC,GAAG;AACL,EAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const formatJSONPathSegment: (segment: string) => string;
2
+ //# sourceMappingURL=formatJSONPathSegment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatJSONPathSegment.d.ts","sourceRoot":"","sources":["../../../src/postgres/createJSONQuery/formatJSONPathSegment.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,YAAa,MAAM,WAEpD,CAAA"}
@@ -0,0 +1,5 @@
1
+ export const formatJSONPathSegment = (segment)=>{
2
+ return Number.isNaN(parseInt(segment)) ? `'${segment}'` : segment;
3
+ };
4
+
5
+ //# sourceMappingURL=formatJSONPathSegment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/postgres/createJSONQuery/formatJSONPathSegment.ts"],"sourcesContent":["export const formatJSONPathSegment = (segment: string) => {\n return Number.isNaN(parseInt(segment)) ? `'${segment}'` : segment\n}\n"],"names":["formatJSONPathSegment","segment","Number","isNaN","parseInt"],"mappings":"AAAA,OAAO,MAAMA,wBAAwB,CAACC;IACpC,OAAOC,OAAOC,KAAK,CAACC,SAASH,YAAY,CAAC,CAAC,EAAEA,QAAQ,CAAC,CAAC,GAAGA;AAC5D,EAAC"}
@@ -0,0 +1,10 @@
1
+ type Args = {
2
+ operator: string;
3
+ pathSegments: string[];
4
+ treatAsArray?: string[];
5
+ treatRootAsArray?: boolean;
6
+ value: unknown;
7
+ };
8
+ export declare const createJSONQuery: ({ operator, pathSegments, treatAsArray, treatRootAsArray, value, }: Args) => string;
9
+ export {};
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/postgres/createJSONQuery/index.ts"],"names":[],"mappings":"AAmDA,KAAK,IAAI,GAAG;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,KAAK,EAAE,OAAO,CAAA;CACf,CAAA;AAED,eAAO,MAAM,eAAe,uEAMzB,IAAI,KAAG,MAqBT,CAAA"}
@@ -0,0 +1,54 @@
1
+ import { convertPathToJSONTraversal } from './convertPathToJSONTraversal.js';
2
+ import { formatJSONPathSegment } from './formatJSONPathSegment.js';
3
+ const operatorMap = {
4
+ contains: '~*',
5
+ equals: '=',
6
+ like: '~*'
7
+ };
8
+ const fromArray = ({ isRoot, operator, pathSegments, treatAsArray, value })=>{
9
+ const newPathSegments = pathSegments.slice(isRoot ? 1 : 2);
10
+ const alias = `${pathSegments[isRoot ? 0 : 1]}_alias_${newPathSegments.length}`;
11
+ newPathSegments.unshift(alias);
12
+ const arrayElements = isRoot ? pathSegments[0] : `${pathSegments[0]} -> ${formatJSONPathSegment(pathSegments[1])}`;
13
+ return `EXISTS (
14
+ SELECT 1
15
+ FROM jsonb_array_elements(${arrayElements}) AS ${alias}
16
+ WHERE ${createJSONQuery({
17
+ operator,
18
+ pathSegments: newPathSegments,
19
+ treatAsArray,
20
+ value
21
+ })}
22
+ )`;
23
+ };
24
+ const createConstraint = ({ operator, pathSegments, value })=>{
25
+ const jsonQuery = convertPathToJSONTraversal(pathSegments);
26
+ return `${pathSegments[0]}${jsonQuery} ${operatorMap[operator]} '${value}'`;
27
+ };
28
+ export const createJSONQuery = ({ operator, pathSegments, treatAsArray, treatRootAsArray, value })=>{
29
+ if (treatRootAsArray) {
30
+ return fromArray({
31
+ isRoot: true,
32
+ operator,
33
+ pathSegments,
34
+ treatAsArray,
35
+ value
36
+ });
37
+ }
38
+ if (treatAsArray.includes(pathSegments[1])) {
39
+ return fromArray({
40
+ operator,
41
+ pathSegments,
42
+ treatAsArray,
43
+ value
44
+ });
45
+ }
46
+ return createConstraint({
47
+ operator,
48
+ pathSegments,
49
+ treatAsArray,
50
+ value
51
+ });
52
+ };
53
+
54
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/postgres/createJSONQuery/index.ts"],"sourcesContent":["import { convertPathToJSONTraversal } from './convertPathToJSONTraversal.js'\nimport { formatJSONPathSegment } from './formatJSONPathSegment.js'\n\nconst operatorMap = {\n contains: '~*',\n equals: '=',\n like: '~*',\n}\n\ntype FromArrayArgs = {\n isRoot?: true\n operator: string\n pathSegments: string[]\n treatAsArray?: string[]\n value: unknown\n}\n\nconst fromArray = ({ isRoot, operator, pathSegments, treatAsArray, value }: FromArrayArgs) => {\n const newPathSegments = pathSegments.slice(isRoot ? 1 : 2)\n const alias = `${pathSegments[isRoot ? 0 : 1]}_alias_${newPathSegments.length}`\n\n newPathSegments.unshift(alias)\n\n const arrayElements = isRoot\n ? pathSegments[0]\n : `${pathSegments[0]} -> ${formatJSONPathSegment(pathSegments[1])}`\n\n return `EXISTS (\n SELECT 1\n FROM jsonb_array_elements(${arrayElements}) AS ${alias}\n WHERE ${createJSONQuery({\n operator,\n pathSegments: newPathSegments,\n treatAsArray,\n value,\n })}\n )`\n}\n\ntype CreateConstraintArgs = {\n operator: string\n pathSegments: string[]\n treatAsArray?: string[]\n value: unknown\n}\n\nconst createConstraint = ({ operator, pathSegments, value }: CreateConstraintArgs): string => {\n const jsonQuery = convertPathToJSONTraversal(pathSegments)\n return `${pathSegments[0]}${jsonQuery} ${operatorMap[operator]} '${value}'`\n}\n\ntype Args = {\n operator: string\n pathSegments: string[]\n treatAsArray?: string[]\n treatRootAsArray?: boolean\n value: unknown\n}\n\nexport const createJSONQuery = ({\n operator,\n pathSegments,\n treatAsArray,\n treatRootAsArray,\n value,\n}: Args): string => {\n if (treatRootAsArray) {\n return fromArray({\n isRoot: true,\n operator,\n pathSegments,\n treatAsArray,\n value,\n })\n }\n\n if (treatAsArray.includes(pathSegments[1])) {\n return fromArray({\n operator,\n pathSegments,\n treatAsArray,\n value,\n })\n }\n\n return createConstraint({ operator, pathSegments, treatAsArray, value })\n}\n"],"names":["convertPathToJSONTraversal","formatJSONPathSegment","operatorMap","contains","equals","like","fromArray","isRoot","operator","pathSegments","treatAsArray","value","newPathSegments","slice","alias","length","unshift","arrayElements","createJSONQuery","createConstraint","jsonQuery","treatRootAsArray","includes"],"mappings":"AAAA,SAASA,0BAA0B,QAAQ,kCAAiC;AAC5E,SAASC,qBAAqB,QAAQ,6BAA4B;AAElE,MAAMC,cAAc;IAClBC,UAAU;IACVC,QAAQ;IACRC,MAAM;AACR;AAUA,MAAMC,YAAY,CAAC,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,YAAY,EAAEC,YAAY,EAAEC,KAAK,EAAiB;IACvF,MAAMC,kBAAkBH,aAAaI,KAAK,CAACN,SAAS,IAAI;IACxD,MAAMO,QAAQ,CAAC,EAAEL,YAAY,CAACF,SAAS,IAAI,EAAE,CAAC,OAAO,EAAEK,gBAAgBG,MAAM,CAAC,CAAC;IAE/EH,gBAAgBI,OAAO,CAACF;IAExB,MAAMG,gBAAgBV,SAClBE,YAAY,CAAC,EAAE,GACf,CAAC,EAAEA,YAAY,CAAC,EAAE,CAAC,IAAI,EAAER,sBAAsBQ,YAAY,CAAC,EAAE,EAAE,CAAC;IAErE,OAAO,CAAC;;8BAEoB,EAAEQ,cAAc,KAAK,EAAEH,MAAM;UACjD,EAAEI,gBAAgB;QACtBV;QACAC,cAAcG;QACdF;QACAC;IACF,GAAG;GACJ,CAAC;AACJ;AASA,MAAMQ,mBAAmB,CAAC,EAAEX,QAAQ,EAAEC,YAAY,EAAEE,KAAK,EAAwB;IAC/E,MAAMS,YAAYpB,2BAA2BS;IAC7C,OAAO,CAAC,EAAEA,YAAY,CAAC,EAAE,CAAC,EAAEW,UAAU,CAAC,EAAElB,WAAW,CAACM,SAAS,CAAC,EAAE,EAAEG,MAAM,CAAC,CAAC;AAC7E;AAUA,OAAO,MAAMO,kBAAkB,CAAC,EAC9BV,QAAQ,EACRC,YAAY,EACZC,YAAY,EACZW,gBAAgB,EAChBV,KAAK,EACA;IACL,IAAIU,kBAAkB;QACpB,OAAOf,UAAU;YACfC,QAAQ;YACRC;YACAC;YACAC;YACAC;QACF;IACF;IAEA,IAAID,aAAaY,QAAQ,CAACb,YAAY,CAAC,EAAE,GAAG;QAC1C,OAAOH,UAAU;YACfE;YACAC;YACAC;YACAC;QACF;IACF;IAEA,OAAOQ,iBAAiB;QAAEX;QAAUC;QAAcC;QAAcC;IAAM;AACxE,EAAC"}
@@ -0,0 +1,3 @@
1
+ import type { CreateMigration } from 'payload';
2
+ export declare const createMigration: CreateMigration;
3
+ //# sourceMappingURL=createMigration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createMigration.d.ts","sourceRoot":"","sources":["../../src/postgres/createMigration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAgB9C,eAAO,MAAM,eAAe,EAAE,eAyG7B,CAAA"}
@@ -0,0 +1,92 @@
1
+ import fs from 'fs';
2
+ import { createRequire } from 'module';
3
+ import path from 'path';
4
+ import { getPredefinedMigration, writeMigrationIndex } from 'payload';
5
+ import prompts from 'prompts';
6
+ import { fileURLToPath } from 'url';
7
+ import { defaultDrizzleSnapshot } from './defaultSnapshot.js';
8
+ import { getMigrationTemplate } from './getMigrationTemplate.js';
9
+ const require = createRequire(import.meta.url);
10
+ export const createMigration = async function createMigration({ file, forceAcceptWarning, migrationName, payload }) {
11
+ const filename = fileURLToPath(import.meta.url);
12
+ const dirname = path.dirname(filename);
13
+ const dir = payload.db.migrationDir;
14
+ if (!fs.existsSync(dir)) {
15
+ fs.mkdirSync(dir);
16
+ }
17
+ const { generateDrizzleJson, generateMigration, upPgSnapshot } = require('drizzle-kit/api');
18
+ const drizzleJsonAfter = generateDrizzleJson(this.schema);
19
+ const [yyymmdd, hhmmss] = new Date().toISOString().split('T');
20
+ const formattedDate = yyymmdd.replace(/\D/g, '');
21
+ const formattedTime = hhmmss.split('.')[0].replace(/\D/g, '');
22
+ let imports = '';
23
+ let downSQL;
24
+ let upSQL;
25
+ ({ downSQL, imports, upSQL } = await getPredefinedMigration({
26
+ dirname,
27
+ file,
28
+ migrationName,
29
+ payload
30
+ }));
31
+ const timestamp = `${formattedDate}_${formattedTime}`;
32
+ const name = migrationName || file?.split('/').slice(2).join('/');
33
+ const fileName = `${timestamp}${name ? `_${name.replace(/\W/g, '_')}` : ''}`;
34
+ const filePath = `${dir}/${fileName}`;
35
+ let drizzleJsonBefore = defaultDrizzleSnapshot;
36
+ if (this.schemaName) {
37
+ drizzleJsonBefore.schemas = {
38
+ [this.schemaName]: this.schemaName
39
+ };
40
+ }
41
+ if (!upSQL) {
42
+ // Get latest migration snapshot
43
+ const latestSnapshot = fs.readdirSync(dir).filter((file)=>file.endsWith('.json')).sort().reverse()?.[0];
44
+ if (latestSnapshot) {
45
+ drizzleJsonBefore = JSON.parse(fs.readFileSync(`${dir}/${latestSnapshot}`, 'utf8'));
46
+ if (drizzleJsonBefore.version < drizzleJsonAfter.version) {
47
+ drizzleJsonBefore = upPgSnapshot(drizzleJsonBefore);
48
+ }
49
+ }
50
+ const sqlStatementsUp = await generateMigration(drizzleJsonBefore, drizzleJsonAfter);
51
+ const sqlStatementsDown = await generateMigration(drizzleJsonAfter, drizzleJsonBefore);
52
+ const sqlExecute = 'await payload.db.drizzle.execute(sql`';
53
+ if (sqlStatementsUp?.length) {
54
+ upSQL = `${sqlExecute}\n ${sqlStatementsUp?.join('\n')}\`)`;
55
+ }
56
+ if (sqlStatementsDown?.length) {
57
+ downSQL = `${sqlExecute}\n ${sqlStatementsDown?.join('\n')}\`)`;
58
+ }
59
+ if (!upSQL?.length && !downSQL?.length && !forceAcceptWarning) {
60
+ const { confirm: shouldCreateBlankMigration } = await prompts({
61
+ name: 'confirm',
62
+ type: 'confirm',
63
+ initial: false,
64
+ message: 'No schema changes detected. Would you like to create a blank migration file?'
65
+ }, {
66
+ onCancel: ()=>{
67
+ process.exit(0);
68
+ }
69
+ });
70
+ if (!shouldCreateBlankMigration) {
71
+ process.exit(0);
72
+ }
73
+ }
74
+ // write schema
75
+ fs.writeFileSync(`${filePath}.json`, JSON.stringify(drizzleJsonAfter, null, 2));
76
+ }
77
+ // write migration
78
+ fs.writeFileSync(`${filePath}.ts`, getMigrationTemplate({
79
+ downSQL: downSQL || ` // Migration code`,
80
+ imports,
81
+ packageName: payload.db.packageName,
82
+ upSQL: upSQL || ` // Migration code`
83
+ }));
84
+ writeMigrationIndex({
85
+ migrationsDir: payload.db.migrationDir
86
+ });
87
+ payload.logger.info({
88
+ msg: `Migration created at ${filePath}.ts`
89
+ });
90
+ };
91
+
92
+ //# sourceMappingURL=createMigration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/postgres/createMigration.ts"],"sourcesContent":["import type { CreateMigration } from 'payload'\n\nimport fs from 'fs'\nimport { createRequire } from 'module'\nimport path from 'path'\nimport { getPredefinedMigration, writeMigrationIndex } from 'payload'\nimport prompts from 'prompts'\nimport { fileURLToPath } from 'url'\n\nimport type { BasePostgresAdapter } from './types.js'\n\nimport { defaultDrizzleSnapshot } from './defaultSnapshot.js'\nimport { getMigrationTemplate } from './getMigrationTemplate.js'\n\nconst require = createRequire(import.meta.url)\n\nexport const createMigration: CreateMigration = async function createMigration(\n this: BasePostgresAdapter,\n { file, forceAcceptWarning, migrationName, payload },\n) {\n const filename = fileURLToPath(import.meta.url)\n const dirname = path.dirname(filename)\n const dir = payload.db.migrationDir\n if (!fs.existsSync(dir)) {\n fs.mkdirSync(dir)\n }\n const { generateDrizzleJson, generateMigration, upPgSnapshot } = require('drizzle-kit/api')\n const drizzleJsonAfter = generateDrizzleJson(this.schema)\n const [yyymmdd, hhmmss] = new Date().toISOString().split('T')\n const formattedDate = yyymmdd.replace(/\\D/g, '')\n const formattedTime = hhmmss.split('.')[0].replace(/\\D/g, '')\n let imports: string = ''\n let downSQL: string\n let upSQL: string\n ;({ downSQL, imports, upSQL } = await getPredefinedMigration({\n dirname,\n file,\n migrationName,\n payload,\n }))\n\n const timestamp = `${formattedDate}_${formattedTime}`\n\n const name = migrationName || file?.split('/').slice(2).join('/')\n const fileName = `${timestamp}${name ? `_${name.replace(/\\W/g, '_')}` : ''}`\n\n const filePath = `${dir}/${fileName}`\n\n let drizzleJsonBefore = defaultDrizzleSnapshot\n\n if (this.schemaName) {\n drizzleJsonBefore.schemas = {\n [this.schemaName]: this.schemaName,\n }\n }\n\n if (!upSQL) {\n // Get latest migration snapshot\n const latestSnapshot = fs\n .readdirSync(dir)\n .filter((file) => file.endsWith('.json'))\n .sort()\n .reverse()?.[0]\n\n if (latestSnapshot) {\n drizzleJsonBefore = JSON.parse(fs.readFileSync(`${dir}/${latestSnapshot}`, 'utf8'))\n\n if (drizzleJsonBefore.version < drizzleJsonAfter.version) {\n drizzleJsonBefore = upPgSnapshot(drizzleJsonBefore)\n }\n }\n\n const sqlStatementsUp = await generateMigration(drizzleJsonBefore, drizzleJsonAfter)\n const sqlStatementsDown = await generateMigration(drizzleJsonAfter, drizzleJsonBefore)\n const sqlExecute = 'await payload.db.drizzle.execute(sql`'\n\n if (sqlStatementsUp?.length) {\n upSQL = `${sqlExecute}\\n ${sqlStatementsUp?.join('\\n')}\\`)`\n }\n if (sqlStatementsDown?.length) {\n downSQL = `${sqlExecute}\\n ${sqlStatementsDown?.join('\\n')}\\`)`\n }\n\n if (!upSQL?.length && !downSQL?.length && !forceAcceptWarning) {\n const { confirm: shouldCreateBlankMigration } = await prompts(\n {\n name: 'confirm',\n type: 'confirm',\n initial: false,\n message: 'No schema changes detected. Would you like to create a blank migration file?',\n },\n {\n onCancel: () => {\n process.exit(0)\n },\n },\n )\n\n if (!shouldCreateBlankMigration) {\n process.exit(0)\n }\n }\n\n // write schema\n fs.writeFileSync(`${filePath}.json`, JSON.stringify(drizzleJsonAfter, null, 2))\n }\n\n // write migration\n fs.writeFileSync(\n `${filePath}.ts`,\n getMigrationTemplate({\n downSQL: downSQL || ` // Migration code`,\n imports,\n packageName: payload.db.packageName,\n upSQL: upSQL || ` // Migration code`,\n }),\n )\n\n writeMigrationIndex({ migrationsDir: payload.db.migrationDir })\n\n payload.logger.info({ msg: `Migration created at ${filePath}.ts` })\n}\n"],"names":["fs","createRequire","path","getPredefinedMigration","writeMigrationIndex","prompts","fileURLToPath","defaultDrizzleSnapshot","getMigrationTemplate","require","url","createMigration","file","forceAcceptWarning","migrationName","payload","filename","dirname","dir","db","migrationDir","existsSync","mkdirSync","generateDrizzleJson","generateMigration","upPgSnapshot","drizzleJsonAfter","schema","yyymmdd","hhmmss","Date","toISOString","split","formattedDate","replace","formattedTime","imports","downSQL","upSQL","timestamp","name","slice","join","fileName","filePath","drizzleJsonBefore","schemaName","schemas","latestSnapshot","readdirSync","filter","endsWith","sort","reverse","JSON","parse","readFileSync","version","sqlStatementsUp","sqlStatementsDown","sqlExecute","length","confirm","shouldCreateBlankMigration","type","initial","message","onCancel","process","exit","writeFileSync","stringify","packageName","migrationsDir","logger","info","msg"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { DrizzleSnapshotJSON } from 'drizzle-kit/api';
2
+ export declare const defaultDrizzleSnapshot: DrizzleSnapshotJSON;
3
+ //# sourceMappingURL=defaultSnapshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultSnapshot.d.ts","sourceRoot":"","sources":["../../src/postgres/defaultSnapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAE1D,eAAO,MAAM,sBAAsB,EAAE,mBAcpC,CAAA"}
@@ -0,0 +1,17 @@
1
+ export const defaultDrizzleSnapshot = {
2
+ id: '00000000-0000-0000-0000-000000000000',
3
+ _meta: {
4
+ columns: {},
5
+ schemas: {},
6
+ tables: {}
7
+ },
8
+ dialect: 'postgresql',
9
+ enums: {},
10
+ prevId: '00000000-0000-0000-0000-00000000000',
11
+ schemas: {},
12
+ sequences: {},
13
+ tables: {},
14
+ version: '7'
15
+ };
16
+
17
+ //# sourceMappingURL=defaultSnapshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/postgres/defaultSnapshot.ts"],"sourcesContent":["import type { DrizzleSnapshotJSON } from 'drizzle-kit/api'\n\nexport const defaultDrizzleSnapshot: DrizzleSnapshotJSON = {\n id: '00000000-0000-0000-0000-000000000000',\n _meta: {\n columns: {},\n schemas: {},\n tables: {},\n },\n dialect: 'postgresql',\n enums: {},\n prevId: '00000000-0000-0000-0000-00000000000',\n schemas: {},\n sequences: {},\n tables: {},\n version: '7',\n}\n"],"names":["defaultDrizzleSnapshot","id","_meta","columns","schemas","tables","dialect","enums","prevId","sequences","version"],"mappings":"AAEA,OAAO,MAAMA,yBAA8C;IACzDC,IAAI;IACJC,OAAO;QACLC,SAAS,CAAC;QACVC,SAAS,CAAC;QACVC,QAAQ,CAAC;IACX;IACAC,SAAS;IACTC,OAAO,CAAC;IACRC,QAAQ;IACRJ,SAAS,CAAC;IACVK,WAAW,CAAC;IACZJ,QAAQ,CAAC;IACTK,SAAS;AACX,EAAC"}
@@ -0,0 +1,3 @@
1
+ import type { DeleteWhere } from './types.js';
2
+ export declare const deleteWhere: DeleteWhere;
3
+ //# sourceMappingURL=deleteWhere.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deleteWhere.d.ts","sourceRoot":"","sources":["../../src/postgres/deleteWhere.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C,eAAO,MAAM,WAAW,EAAE,WAGzB,CAAA"}
@@ -0,0 +1,6 @@
1
+ export const deleteWhere = async function deleteWhere({ db, tableName, where }) {
2
+ const table = this.tables[tableName];
3
+ await db.delete(table).where(where);
4
+ };
5
+
6
+ //# sourceMappingURL=deleteWhere.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/postgres/deleteWhere.ts"],"sourcesContent":["import type { TransactionPg } from '../types.js'\nimport type { DeleteWhere } from './types.js'\n\nexport const deleteWhere: DeleteWhere = async function deleteWhere({ db, tableName, where }) {\n const table = this.tables[tableName]\n await (db as TransactionPg).delete(table).where(where)\n}\n"],"names":["deleteWhere","db","tableName","where","table","tables","delete"],"mappings":"AAGA,OAAO,MAAMA,cAA2B,eAAeA,YAAY,EAAEC,EAAE,EAAEC,SAAS,EAAEC,KAAK,EAAE;IACzF,MAAMC,QAAQ,IAAI,CAACC,MAAM,CAACH,UAAU;IACpC,MAAM,AAACD,GAAqBK,MAAM,CAACF,OAAOD,KAAK,CAACA;AAClD,EAAC"}