@payloadcms/db-postgres 3.0.0-canary.f6e77b8 → 3.0.0-canary.fb04843

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 (370) hide show
  1. package/README.md +1 -1
  2. package/dist/connect.d.ts +1 -1
  3. package/dist/connect.d.ts.map +1 -1
  4. package/dist/connect.js +45 -17
  5. package/dist/connect.js.map +1 -1
  6. package/dist/exports/migration-utils.d.ts +2 -0
  7. package/dist/exports/migration-utils.d.ts.map +1 -0
  8. package/dist/exports/migration-utils.js +3 -0
  9. package/dist/exports/migration-utils.js.map +1 -0
  10. package/dist/index.d.ts +3 -3
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +66 -69
  13. package/dist/index.js.map +1 -1
  14. package/dist/predefinedMigrations/relationships-v2-v3.d.ts +4 -0
  15. package/dist/predefinedMigrations/relationships-v2-v3.d.ts.map +1 -0
  16. package/dist/predefinedMigrations/relationships-v2-v3.js.map +1 -0
  17. package/dist/predefinedMigrations/relationships-v2-v3.mjs +11 -0
  18. package/dist/predefinedMigrations/v2-v3/fetchAndResave/index.d.ts +20 -0
  19. package/dist/predefinedMigrations/v2-v3/fetchAndResave/index.d.ts.map +1 -0
  20. package/dist/predefinedMigrations/v2-v3/fetchAndResave/index.js +169 -0
  21. package/dist/predefinedMigrations/v2-v3/fetchAndResave/index.js.map +1 -0
  22. package/dist/predefinedMigrations/v2-v3/fetchAndResave/traverseFields.d.ts +11 -0
  23. package/dist/predefinedMigrations/v2-v3/fetchAndResave/traverseFields.d.ts.map +1 -0
  24. package/dist/predefinedMigrations/v2-v3/fetchAndResave/traverseFields.js +196 -0
  25. package/dist/predefinedMigrations/v2-v3/fetchAndResave/traverseFields.js.map +1 -0
  26. package/dist/predefinedMigrations/v2-v3/groupUpSQLStatements.d.ts +3 -0
  27. package/dist/predefinedMigrations/v2-v3/groupUpSQLStatements.d.ts.map +1 -0
  28. package/dist/predefinedMigrations/v2-v3/groupUpSQLStatements.js +56 -0
  29. package/dist/predefinedMigrations/v2-v3/groupUpSQLStatements.js.map +1 -0
  30. package/dist/predefinedMigrations/v2-v3/index.d.ts +23 -0
  31. package/dist/predefinedMigrations/v2-v3/index.d.ts.map +1 -0
  32. package/dist/predefinedMigrations/v2-v3/index.js +211 -0
  33. package/dist/predefinedMigrations/v2-v3/index.js.map +1 -0
  34. package/dist/predefinedMigrations/v2-v3/migrateRelationships.d.ts +20 -0
  35. package/dist/predefinedMigrations/v2-v3/migrateRelationships.d.ts.map +1 -0
  36. package/dist/predefinedMigrations/v2-v3/migrateRelationships.js +63 -0
  37. package/dist/predefinedMigrations/v2-v3/migrateRelationships.js.map +1 -0
  38. package/dist/predefinedMigrations/v2-v3/traverseFields.d.ts +23 -0
  39. package/dist/predefinedMigrations/v2-v3/traverseFields.d.ts.map +1 -0
  40. package/dist/predefinedMigrations/v2-v3/traverseFields.js +85 -0
  41. package/dist/predefinedMigrations/v2-v3/traverseFields.js.map +1 -0
  42. package/dist/predefinedMigrations/v2-v3/types.d.ts +9 -0
  43. package/dist/predefinedMigrations/v2-v3/types.d.ts.map +1 -0
  44. package/dist/predefinedMigrations/v2-v3/types.js +6 -0
  45. package/dist/predefinedMigrations/v2-v3/types.js.map +1 -0
  46. package/dist/types.d.ts +65 -77
  47. package/dist/types.d.ts.map +1 -1
  48. package/dist/types.js.map +1 -1
  49. package/license.md +22 -0
  50. package/package.json +35 -17
  51. package/dist/count.d.ts +0 -3
  52. package/dist/count.d.ts.map +0 -1
  53. package/dist/count.js +0 -50
  54. package/dist/count.js.map +0 -1
  55. package/dist/create.d.ts +0 -3
  56. package/dist/create.d.ts.map +0 -1
  57. package/dist/create.js +0 -19
  58. package/dist/create.js.map +0 -1
  59. package/dist/createGlobal.d.ts +0 -5
  60. package/dist/createGlobal.d.ts.map +0 -1
  61. package/dist/createGlobal.js +0 -19
  62. package/dist/createGlobal.js.map +0 -1
  63. package/dist/createGlobalVersion.d.ts +0 -6
  64. package/dist/createGlobalVersion.d.ts.map +0 -1
  65. package/dist/createGlobalVersion.js +0 -33
  66. package/dist/createGlobalVersion.js.map +0 -1
  67. package/dist/createMigration.d.ts +0 -3
  68. package/dist/createMigration.d.ts.map +0 -1
  69. package/dist/createMigration.js +0 -81
  70. package/dist/createMigration.js.map +0 -1
  71. package/dist/createVersion.d.ts +0 -5
  72. package/dist/createVersion.d.ts.map +0 -1
  73. package/dist/createVersion.js +0 -44
  74. package/dist/createVersion.js.map +0 -1
  75. package/dist/deleteMany.d.ts +0 -3
  76. package/dist/deleteMany.d.ts.map +0 -1
  77. package/dist/deleteMany.js +0 -28
  78. package/dist/deleteMany.js.map +0 -1
  79. package/dist/deleteOne.d.ts +0 -3
  80. package/dist/deleteOne.d.ts.map +0 -1
  81. package/dist/deleteOne.js +0 -59
  82. package/dist/deleteOne.js.map +0 -1
  83. package/dist/deleteVersions.d.ts +0 -3
  84. package/dist/deleteVersions.d.ts.map +0 -1
  85. package/dist/deleteVersions.js +0 -31
  86. package/dist/deleteVersions.js.map +0 -1
  87. package/dist/destroy.d.ts +0 -3
  88. package/dist/destroy.d.ts.map +0 -1
  89. package/dist/destroy.js +0 -11
  90. package/dist/destroy.js.map +0 -1
  91. package/dist/find/buildFindManyArgs.d.ts +0 -13
  92. package/dist/find/buildFindManyArgs.d.ts.map +0 -1
  93. package/dist/find/buildFindManyArgs.js +0 -64
  94. package/dist/find/buildFindManyArgs.js.map +0 -1
  95. package/dist/find/chainMethods.d.ts +0 -16
  96. package/dist/find/chainMethods.d.ts.map +0 -1
  97. package/dist/find/chainMethods.js +0 -12
  98. package/dist/find/chainMethods.js.map +0 -1
  99. package/dist/find/findMany.d.ts +0 -22
  100. package/dist/find/findMany.d.ts.map +0 -1
  101. package/dist/find/findMany.js +0 -163
  102. package/dist/find/findMany.js.map +0 -1
  103. package/dist/find/traverseFields.d.ts +0 -16
  104. package/dist/find/traverseFields.d.ts.map +0 -1
  105. package/dist/find/traverseFields.js +0 -138
  106. package/dist/find/traverseFields.js.map +0 -1
  107. package/dist/find.d.ts +0 -3
  108. package/dist/find.d.ts.map +0 -1
  109. package/dist/find.js +0 -21
  110. package/dist/find.js.map +0 -1
  111. package/dist/findGlobal.d.ts +0 -3
  112. package/dist/findGlobal.d.ts.map +0 -1
  113. package/dist/findGlobal.js +0 -23
  114. package/dist/findGlobal.js.map +0 -1
  115. package/dist/findGlobalVersions.d.ts +0 -3
  116. package/dist/findGlobalVersions.d.ts.map +0 -1
  117. package/dist/findGlobalVersions.js +0 -24
  118. package/dist/findGlobalVersions.js.map +0 -1
  119. package/dist/findOne.d.ts +0 -5
  120. package/dist/findOne.d.ts.map +0 -1
  121. package/dist/findOne.js +0 -21
  122. package/dist/findOne.js.map +0 -1
  123. package/dist/findVersions.d.ts +0 -3
  124. package/dist/findVersions.d.ts.map +0 -1
  125. package/dist/findVersions.js +0 -24
  126. package/dist/findVersions.js.map +0 -1
  127. package/dist/init.d.ts +0 -3
  128. package/dist/init.d.ts.map +0 -1
  129. package/dist/init.js +0 -96
  130. package/dist/init.js.map +0 -1
  131. package/dist/migrate.d.ts +0 -3
  132. package/dist/migrate.d.ts.map +0 -1
  133. package/dist/migrate.js +0 -99
  134. package/dist/migrate.js.map +0 -1
  135. package/dist/migrateDown.d.ts +0 -3
  136. package/dist/migrateDown.d.ts.map +0 -1
  137. package/dist/migrateDown.js +0 -63
  138. package/dist/migrateDown.js.map +0 -1
  139. package/dist/migrateFresh.d.ts +0 -8
  140. package/dist/migrateFresh.d.ts.map +0 -1
  141. package/dist/migrateFresh.js +0 -72
  142. package/dist/migrateFresh.js.map +0 -1
  143. package/dist/migrateRefresh.d.ts +0 -6
  144. package/dist/migrateRefresh.d.ts.map +0 -1
  145. package/dist/migrateRefresh.js +0 -102
  146. package/dist/migrateRefresh.js.map +0 -1
  147. package/dist/migrateReset.d.ts +0 -6
  148. package/dist/migrateReset.d.ts.map +0 -1
  149. package/dist/migrateReset.js +0 -82
  150. package/dist/migrateReset.js.map +0 -1
  151. package/dist/migrateStatus.d.ts +0 -3
  152. package/dist/migrateStatus.d.ts.map +0 -1
  153. package/dist/migrateStatus.js +0 -44
  154. package/dist/migrateStatus.js.map +0 -1
  155. package/dist/queries/buildAndOrConditions.d.ts +0 -17
  156. package/dist/queries/buildAndOrConditions.d.ts.map +0 -1
  157. package/dist/queries/buildAndOrConditions.js +0 -29
  158. package/dist/queries/buildAndOrConditions.js.map +0 -1
  159. package/dist/queries/buildQuery.d.ts +0 -31
  160. package/dist/queries/buildQuery.d.ts.map +0 -1
  161. package/dist/queries/buildQuery.js +0 -76
  162. package/dist/queries/buildQuery.js.map +0 -1
  163. package/dist/queries/createJSONQuery/convertPathToJSONTraversal.d.ts +0 -2
  164. package/dist/queries/createJSONQuery/convertPathToJSONTraversal.d.ts.map +0 -1
  165. package/dist/queries/createJSONQuery/convertPathToJSONTraversal.js +0 -14
  166. package/dist/queries/createJSONQuery/convertPathToJSONTraversal.js.map +0 -1
  167. package/dist/queries/createJSONQuery/formatJSONPathSegment.d.ts +0 -2
  168. package/dist/queries/createJSONQuery/formatJSONPathSegment.d.ts.map +0 -1
  169. package/dist/queries/createJSONQuery/formatJSONPathSegment.js +0 -5
  170. package/dist/queries/createJSONQuery/formatJSONPathSegment.js.map +0 -1
  171. package/dist/queries/createJSONQuery/index.d.ts +0 -10
  172. package/dist/queries/createJSONQuery/index.d.ts.map +0 -1
  173. package/dist/queries/createJSONQuery/index.js +0 -54
  174. package/dist/queries/createJSONQuery/index.js.map +0 -1
  175. package/dist/queries/getTableColumnFromPath.d.ts +0 -51
  176. package/dist/queries/getTableColumnFromPath.d.ts.map +0 -1
  177. package/dist/queries/getTableColumnFromPath.js +0 -445
  178. package/dist/queries/getTableColumnFromPath.js.map +0 -1
  179. package/dist/queries/operatorMap.d.ts +0 -18
  180. package/dist/queries/operatorMap.d.ts.map +0 -1
  181. package/dist/queries/operatorMap.js +0 -24
  182. package/dist/queries/operatorMap.js.map +0 -1
  183. package/dist/queries/parseParams.d.ts +0 -17
  184. package/dist/queries/parseParams.d.ts.map +0 -1
  185. package/dist/queries/parseParams.js +0 -182
  186. package/dist/queries/parseParams.js.map +0 -1
  187. package/dist/queries/sanitizeQueryValue.d.ts +0 -15
  188. package/dist/queries/sanitizeQueryValue.d.ts.map +0 -1
  189. package/dist/queries/sanitizeQueryValue.js +0 -90
  190. package/dist/queries/sanitizeQueryValue.js.map +0 -1
  191. package/dist/queries/selectDistinct.d.ts +0 -23
  192. package/dist/queries/selectDistinct.d.ts.map +0 -1
  193. package/dist/queries/selectDistinct.js +0 -41
  194. package/dist/queries/selectDistinct.js.map +0 -1
  195. package/dist/queryDrafts.d.ts +0 -3
  196. package/dist/queryDrafts.d.ts.map +0 -1
  197. package/dist/queryDrafts.js +0 -41
  198. package/dist/queryDrafts.js.map +0 -1
  199. package/dist/schema/build.d.ts +0 -30
  200. package/dist/schema/build.d.ts.map +0 -1
  201. package/dist/schema/build.js +0 -320
  202. package/dist/schema/build.js.map +0 -1
  203. package/dist/schema/createIndex.d.ts +0 -12
  204. package/dist/schema/createIndex.d.ts.map +0 -1
  205. package/dist/schema/createIndex.js +0 -18
  206. package/dist/schema/createIndex.js.map +0 -1
  207. package/dist/schema/createTableName.d.ts +0 -30
  208. package/dist/schema/createTableName.d.ts.map +0 -1
  209. package/dist/schema/createTableName.js +0 -31
  210. package/dist/schema/createTableName.js.map +0 -1
  211. package/dist/schema/idToUUID.d.ts +0 -3
  212. package/dist/schema/idToUUID.d.ts.map +0 -1
  213. package/dist/schema/idToUUID.js +0 -11
  214. package/dist/schema/idToUUID.js.map +0 -1
  215. package/dist/schema/parentIDColumnMap.d.ts +0 -4
  216. package/dist/schema/parentIDColumnMap.d.ts.map +0 -1
  217. package/dist/schema/parentIDColumnMap.js +0 -9
  218. package/dist/schema/parentIDColumnMap.js.map +0 -1
  219. package/dist/schema/setColumnID.d.ts +0 -11
  220. package/dist/schema/setColumnID.d.ts.map +0 -1
  221. package/dist/schema/setColumnID.js +0 -24
  222. package/dist/schema/setColumnID.js.map +0 -1
  223. package/dist/schema/traverseFields.d.ts +0 -38
  224. package/dist/schema/traverseFields.d.ts.map +0 -1
  225. package/dist/schema/traverseFields.js +0 -551
  226. package/dist/schema/traverseFields.js.map +0 -1
  227. package/dist/schema/validateExistingBlockIsIdentical.d.ts +0 -12
  228. package/dist/schema/validateExistingBlockIsIdentical.d.ts.map +0 -1
  229. package/dist/schema/validateExistingBlockIsIdentical.js +0 -76
  230. package/dist/schema/validateExistingBlockIsIdentical.js.map +0 -1
  231. package/dist/transactions/beginTransaction.d.ts +0 -3
  232. package/dist/transactions/beginTransaction.d.ts.map +0 -1
  233. package/dist/transactions/beginTransaction.js +0 -47
  234. package/dist/transactions/beginTransaction.js.map +0 -1
  235. package/dist/transactions/commitTransaction.d.ts +0 -3
  236. package/dist/transactions/commitTransaction.d.ts.map +0 -1
  237. package/dist/transactions/commitTransaction.js +0 -14
  238. package/dist/transactions/commitTransaction.js.map +0 -1
  239. package/dist/transactions/rollbackTransaction.d.ts +0 -3
  240. package/dist/transactions/rollbackTransaction.d.ts.map +0 -1
  241. package/dist/transactions/rollbackTransaction.js +0 -13
  242. package/dist/transactions/rollbackTransaction.js.map +0 -1
  243. package/dist/transform/read/hasManyNumber.d.ts +0 -10
  244. package/dist/transform/read/hasManyNumber.d.ts.map +0 -1
  245. package/dist/transform/read/hasManyNumber.js +0 -10
  246. package/dist/transform/read/hasManyNumber.js.map +0 -1
  247. package/dist/transform/read/hasManyText.d.ts +0 -10
  248. package/dist/transform/read/hasManyText.d.ts.map +0 -1
  249. package/dist/transform/read/hasManyText.js +0 -10
  250. package/dist/transform/read/hasManyText.js.map +0 -1
  251. package/dist/transform/read/index.d.ts +0 -12
  252. package/dist/transform/read/index.d.ts.map +0 -1
  253. package/dist/transform/read/index.js +0 -43
  254. package/dist/transform/read/index.js.map +0 -1
  255. package/dist/transform/read/relationship.d.ts +0 -10
  256. package/dist/transform/read/relationship.d.ts.map +0 -1
  257. package/dist/transform/read/relationship.js +0 -64
  258. package/dist/transform/read/relationship.js.map +0 -1
  259. package/dist/transform/read/traverseFields.d.ts +0 -52
  260. package/dist/transform/read/traverseFields.d.ts.map +0 -1
  261. package/dist/transform/read/traverseFields.js +0 -421
  262. package/dist/transform/read/traverseFields.js.map +0 -1
  263. package/dist/transform/write/array.d.ts +0 -26
  264. package/dist/transform/write/array.d.ts.map +0 -1
  265. package/dist/transform/write/array.js +0 -58
  266. package/dist/transform/write/array.js.map +0 -1
  267. package/dist/transform/write/blocks.d.ts +0 -25
  268. package/dist/transform/write/blocks.d.ts.map +0 -1
  269. package/dist/transform/write/blocks.js +0 -54
  270. package/dist/transform/write/blocks.js.map +0 -1
  271. package/dist/transform/write/index.d.ts +0 -13
  272. package/dist/transform/write/index.d.ts.map +0 -1
  273. package/dist/transform/write/index.js +0 -41
  274. package/dist/transform/write/index.js.map +0 -1
  275. package/dist/transform/write/numbers.d.ts +0 -8
  276. package/dist/transform/write/numbers.d.ts.map +0 -1
  277. package/dist/transform/write/numbers.js +0 -11
  278. package/dist/transform/write/numbers.js.map +0 -1
  279. package/dist/transform/write/relationships.d.ts +0 -10
  280. package/dist/transform/write/relationships.d.ts.map +0 -1
  281. package/dist/transform/write/relationships.js +0 -23
  282. package/dist/transform/write/relationships.js.map +0 -1
  283. package/dist/transform/write/selects.d.ts +0 -8
  284. package/dist/transform/write/selects.d.ts.map +0 -1
  285. package/dist/transform/write/selects.js +0 -20
  286. package/dist/transform/write/selects.js.map +0 -1
  287. package/dist/transform/write/texts.d.ts +0 -8
  288. package/dist/transform/write/texts.d.ts.map +0 -1
  289. package/dist/transform/write/texts.js +0 -11
  290. package/dist/transform/write/texts.js.map +0 -1
  291. package/dist/transform/write/traverseFields.d.ts +0 -50
  292. package/dist/transform/write/traverseFields.d.ts.map +0 -1
  293. package/dist/transform/write/traverseFields.js +0 -428
  294. package/dist/transform/write/traverseFields.js.map +0 -1
  295. package/dist/transform/write/types.d.ts +0 -43
  296. package/dist/transform/write/types.d.ts.map +0 -1
  297. package/dist/transform/write/types.js +0 -3
  298. package/dist/transform/write/types.js.map +0 -1
  299. package/dist/update.d.ts +0 -3
  300. package/dist/update.d.ts.map +0 -1
  301. package/dist/update.js +0 -55
  302. package/dist/update.js.map +0 -1
  303. package/dist/updateGlobal.d.ts +0 -5
  304. package/dist/updateGlobal.d.ts.map +0 -1
  305. package/dist/updateGlobal.js +0 -25
  306. package/dist/updateGlobal.js.map +0 -1
  307. package/dist/updateGlobalVersion.d.ts +0 -5
  308. package/dist/updateGlobalVersion.d.ts.map +0 -1
  309. package/dist/updateGlobalVersion.js +0 -36
  310. package/dist/updateGlobalVersion.js.map +0 -1
  311. package/dist/updateVersion.d.ts +0 -5
  312. package/dist/updateVersion.d.ts.map +0 -1
  313. package/dist/updateVersion.js +0 -36
  314. package/dist/updateVersion.js.map +0 -1
  315. package/dist/upsertRow/deleteExistingArrayRows.d.ts +0 -10
  316. package/dist/upsertRow/deleteExistingArrayRows.d.ts.map +0 -1
  317. package/dist/upsertRow/deleteExistingArrayRows.js +0 -10
  318. package/dist/upsertRow/deleteExistingArrayRows.js.map +0 -1
  319. package/dist/upsertRow/deleteExistingRowsByPath.d.ts +0 -14
  320. package/dist/upsertRow/deleteExistingRowsByPath.d.ts.map +0 -1
  321. package/dist/upsertRow/deleteExistingRowsByPath.js +0 -33
  322. package/dist/upsertRow/deleteExistingRowsByPath.js.map +0 -1
  323. package/dist/upsertRow/index.d.ts +0 -4
  324. package/dist/upsertRow/index.d.ts.map +0 -1
  325. package/dist/upsertRow/index.js +0 -277
  326. package/dist/upsertRow/index.js.map +0 -1
  327. package/dist/upsertRow/insertArrays.d.ts +0 -13
  328. package/dist/upsertRow/insertArrays.d.ts.map +0 -1
  329. package/dist/upsertRow/insertArrays.js +0 -68
  330. package/dist/upsertRow/insertArrays.js.map +0 -1
  331. package/dist/upsertRow/types.d.ts +0 -27
  332. package/dist/upsertRow/types.d.ts.map +0 -1
  333. package/dist/upsertRow/types.js +0 -3
  334. package/dist/upsertRow/types.js.map +0 -1
  335. package/dist/utilities/appendPrefixToKeys.d.ts +0 -2
  336. package/dist/utilities/appendPrefixToKeys.d.ts.map +0 -1
  337. package/dist/utilities/appendPrefixToKeys.js +0 -6
  338. package/dist/utilities/appendPrefixToKeys.js.map +0 -1
  339. package/dist/utilities/createBlocksMap.d.ts +0 -5
  340. package/dist/utilities/createBlocksMap.d.ts.map +0 -1
  341. package/dist/utilities/createBlocksMap.js +0 -29
  342. package/dist/utilities/createBlocksMap.js.map +0 -1
  343. package/dist/utilities/createMigrationTable.d.ts +0 -3
  344. package/dist/utilities/createMigrationTable.d.ts.map +0 -1
  345. package/dist/utilities/createMigrationTable.js +0 -13
  346. package/dist/utilities/createMigrationTable.js.map +0 -1
  347. package/dist/utilities/createRelationshipMap.d.ts +0 -2
  348. package/dist/utilities/createRelationshipMap.d.ts.map +0 -1
  349. package/dist/utilities/createRelationshipMap.js +0 -19
  350. package/dist/utilities/createRelationshipMap.js.map +0 -1
  351. package/dist/utilities/hasLocalesTable.d.ts +0 -3
  352. package/dist/utilities/hasLocalesTable.d.ts.map +0 -1
  353. package/dist/utilities/hasLocalesTable.js +0 -11
  354. package/dist/utilities/hasLocalesTable.js.map +0 -1
  355. package/dist/utilities/isArrayOfRows.d.ts +0 -2
  356. package/dist/utilities/isArrayOfRows.d.ts.map +0 -1
  357. package/dist/utilities/isArrayOfRows.js +0 -5
  358. package/dist/utilities/isArrayOfRows.js.map +0 -1
  359. package/dist/utilities/migrationTableExists.d.ts +0 -3
  360. package/dist/utilities/migrationTableExists.d.ts.map +0 -1
  361. package/dist/utilities/migrationTableExists.js +0 -9
  362. package/dist/utilities/migrationTableExists.js.map +0 -1
  363. package/dist/utilities/parseError.d.ts +0 -5
  364. package/dist/utilities/parseError.d.ts.map +0 -1
  365. package/dist/utilities/parseError.js +0 -17
  366. package/dist/utilities/parseError.js.map +0 -1
  367. package/dist/utilities/pushDevSchema.d.ts +0 -9
  368. package/dist/utilities/pushDevSchema.d.ts.map +0 -1
  369. package/dist/utilities/pushDevSchema.js +0 -58
  370. package/dist/utilities/pushDevSchema.js.map +0 -1
@@ -0,0 +1,211 @@
1
+ import { sql } from 'drizzle-orm';
2
+ import fs from 'fs';
3
+ import { createRequire } from 'module';
4
+ import { buildVersionCollectionFields, buildVersionGlobalFields } from 'payload';
5
+ import toSnakeCase from 'to-snake-case';
6
+ import { groupUpSQLStatements } from './groupUpSQLStatements.js';
7
+ import { migrateRelationships } from './migrateRelationships.js';
8
+ import { traverseFields } from './traverseFields.js';
9
+ const require = createRequire(import.meta.url);
10
+ /**
11
+ * Moves upload and relationship columns from the join table and into the tables while moving data
12
+ * This is done in the following order:
13
+ * ADD COLUMNs
14
+ * -- manipulate data to move relationships to new columns
15
+ * ADD CONSTRAINTs
16
+ * NOT NULLs
17
+ * DROP TABLEs
18
+ * DROP CONSTRAINTs
19
+ * DROP COLUMNs
20
+ * @param debug
21
+ * @param payload
22
+ * @param req
23
+ */ export const migratePostgresV2toV3 = async ({ debug, payload, req })=>{
24
+ const adapter = payload.db;
25
+ const db = adapter.sessions[await req.transactionID].db;
26
+ const dir = payload.db.migrationDir;
27
+ // get the drizzle migrateUpSQL from drizzle using the last schema
28
+ const { generateDrizzleJson, generateMigration } = require('drizzle-kit/api');
29
+ const drizzleJsonAfter = generateDrizzleJson(adapter.schema);
30
+ // Get the previous migration snapshot
31
+ const previousSnapshot = fs.readdirSync(dir).filter((file)=>file.endsWith('.json') && !file.endsWith('relationships_v2_v3.json')).sort().reverse()?.[0];
32
+ if (!previousSnapshot) {
33
+ throw new Error(`No previous migration schema file found! A prior migration from v2 is required to migrate to v3.`);
34
+ }
35
+ const drizzleJsonBefore = JSON.parse(fs.readFileSync(`${dir}/${previousSnapshot}`, 'utf8'));
36
+ const generatedSQL = await generateMigration(drizzleJsonBefore, drizzleJsonAfter);
37
+ if (!generatedSQL.length) {
38
+ payload.logger.info(`No schema changes needed.`);
39
+ process.exit(0);
40
+ }
41
+ const sqlUpStatements = groupUpSQLStatements(generatedSQL);
42
+ const addColumnsStatement = sqlUpStatements.addColumn.join('\n');
43
+ if (debug) {
44
+ payload.logger.info('CREATING NEW RELATIONSHIP COLUMNS');
45
+ payload.logger.info(addColumnsStatement);
46
+ }
47
+ await db.execute(sql.raw(addColumnsStatement));
48
+ for (const collection of payload.config.collections){
49
+ const tableName = adapter.tableNameMap.get(toSnakeCase(collection.slug));
50
+ const pathsToQuery = new Set();
51
+ traverseFields({
52
+ adapter,
53
+ collectionSlug: collection.slug,
54
+ columnPrefix: '',
55
+ db,
56
+ disableNotNull: false,
57
+ fields: collection.fields,
58
+ isVersions: false,
59
+ newTableName: tableName,
60
+ parentTableName: tableName,
61
+ path: '',
62
+ pathsToQuery,
63
+ payload,
64
+ rootTableName: tableName
65
+ });
66
+ await migrateRelationships({
67
+ adapter,
68
+ collectionSlug: collection.slug,
69
+ db,
70
+ debug,
71
+ fields: collection.fields,
72
+ isVersions: false,
73
+ pathsToQuery,
74
+ payload,
75
+ req,
76
+ tableName
77
+ });
78
+ if (collection.versions) {
79
+ const versionsTableName = adapter.tableNameMap.get(`_${toSnakeCase(collection.slug)}${adapter.versionsSuffix}`);
80
+ const versionFields = buildVersionCollectionFields(payload.config, collection);
81
+ const versionPathsToQuery = new Set();
82
+ traverseFields({
83
+ adapter,
84
+ collectionSlug: collection.slug,
85
+ columnPrefix: '',
86
+ db,
87
+ disableNotNull: true,
88
+ fields: versionFields,
89
+ isVersions: true,
90
+ newTableName: versionsTableName,
91
+ parentTableName: versionsTableName,
92
+ path: '',
93
+ pathsToQuery: versionPathsToQuery,
94
+ payload,
95
+ rootTableName: versionsTableName
96
+ });
97
+ await migrateRelationships({
98
+ adapter,
99
+ collectionSlug: collection.slug,
100
+ db,
101
+ debug,
102
+ fields: versionFields,
103
+ isVersions: true,
104
+ pathsToQuery: versionPathsToQuery,
105
+ payload,
106
+ req,
107
+ tableName: versionsTableName
108
+ });
109
+ }
110
+ }
111
+ for (const global of payload.config.globals){
112
+ const tableName = adapter.tableNameMap.get(toSnakeCase(global.slug));
113
+ const pathsToQuery = new Set();
114
+ traverseFields({
115
+ adapter,
116
+ columnPrefix: '',
117
+ db,
118
+ disableNotNull: false,
119
+ fields: global.fields,
120
+ globalSlug: global.slug,
121
+ isVersions: false,
122
+ newTableName: tableName,
123
+ parentTableName: tableName,
124
+ path: '',
125
+ pathsToQuery,
126
+ payload,
127
+ rootTableName: tableName
128
+ });
129
+ await migrateRelationships({
130
+ adapter,
131
+ db,
132
+ debug,
133
+ fields: global.fields,
134
+ globalSlug: global.slug,
135
+ isVersions: false,
136
+ pathsToQuery,
137
+ payload,
138
+ req,
139
+ tableName
140
+ });
141
+ if (global.versions) {
142
+ const versionsTableName = adapter.tableNameMap.get(`_${toSnakeCase(global.slug)}${adapter.versionsSuffix}`);
143
+ const versionFields = buildVersionGlobalFields(payload.config, global);
144
+ const versionPathsToQuery = new Set();
145
+ traverseFields({
146
+ adapter,
147
+ columnPrefix: '',
148
+ db,
149
+ disableNotNull: true,
150
+ fields: versionFields,
151
+ globalSlug: global.slug,
152
+ isVersions: true,
153
+ newTableName: versionsTableName,
154
+ parentTableName: versionsTableName,
155
+ path: '',
156
+ pathsToQuery: versionPathsToQuery,
157
+ payload,
158
+ rootTableName: versionsTableName
159
+ });
160
+ await migrateRelationships({
161
+ adapter,
162
+ db,
163
+ debug,
164
+ fields: versionFields,
165
+ globalSlug: global.slug,
166
+ isVersions: true,
167
+ pathsToQuery: versionPathsToQuery,
168
+ payload,
169
+ req,
170
+ tableName: versionsTableName
171
+ });
172
+ }
173
+ }
174
+ // ADD CONSTRAINT
175
+ const addConstraintsStatement = sqlUpStatements.addConstraint.join('\n');
176
+ if (debug) {
177
+ payload.logger.info('ADDING CONSTRAINTS');
178
+ payload.logger.info(addConstraintsStatement);
179
+ }
180
+ await db.execute(sql.raw(addConstraintsStatement));
181
+ // NOT NULL
182
+ const notNullStatements = sqlUpStatements.notNull.join('\n');
183
+ if (debug) {
184
+ payload.logger.info('NOT NULL CONSTRAINTS');
185
+ payload.logger.info(notNullStatements);
186
+ }
187
+ await db.execute(sql.raw(notNullStatements));
188
+ // DROP TABLE
189
+ const dropTablesStatement = sqlUpStatements.dropTable.join('\n');
190
+ if (debug) {
191
+ payload.logger.info('DROPPING TABLES');
192
+ payload.logger.info(dropTablesStatement);
193
+ }
194
+ await db.execute(sql.raw(dropTablesStatement));
195
+ // DROP CONSTRAINT
196
+ const dropConstraintsStatement = sqlUpStatements.dropConstraint.join('\n');
197
+ if (debug) {
198
+ payload.logger.info('DROPPING CONSTRAINTS');
199
+ payload.logger.info(dropConstraintsStatement);
200
+ }
201
+ await db.execute(sql.raw(dropConstraintsStatement));
202
+ // DROP COLUMN
203
+ const dropColumnsStatement = sqlUpStatements.dropColumn.join('\n');
204
+ if (debug) {
205
+ payload.logger.info('DROPPING COLUMNS');
206
+ payload.logger.info(dropColumnsStatement);
207
+ }
208
+ await db.execute(sql.raw(dropColumnsStatement));
209
+ };
210
+
211
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/predefinedMigrations/v2-v3/index.ts"],"sourcesContent":["import type { TransactionPg } from '@payloadcms/drizzle/types'\nimport type { DrizzleSnapshotJSON } from 'drizzle-kit/api'\nimport type { Payload, PayloadRequest } from 'payload'\n\nimport { sql } from 'drizzle-orm'\nimport fs from 'fs'\nimport { createRequire } from 'module'\nimport { buildVersionCollectionFields, buildVersionGlobalFields } from 'payload'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { PostgresAdapter } from '../../types.js'\nimport type { PathsToQuery } from './types.js'\n\nimport { groupUpSQLStatements } from './groupUpSQLStatements.js'\nimport { migrateRelationships } from './migrateRelationships.js'\nimport { traverseFields } from './traverseFields.js'\n\nconst require = createRequire(import.meta.url)\n\ntype Args = {\n debug?: boolean\n payload: Payload\n req?: Partial<PayloadRequest>\n}\n\n/**\n * Moves upload and relationship columns from the join table and into the tables while moving data\n * This is done in the following order:\n * ADD COLUMNs\n * -- manipulate data to move relationships to new columns\n * ADD CONSTRAINTs\n * NOT NULLs\n * DROP TABLEs\n * DROP CONSTRAINTs\n * DROP COLUMNs\n * @param debug\n * @param payload\n * @param req\n */\nexport const migratePostgresV2toV3 = async ({ debug, payload, req }: Args) => {\n const adapter = payload.db as unknown as PostgresAdapter\n const db = adapter.sessions[await req.transactionID].db as TransactionPg\n const dir = payload.db.migrationDir\n\n // get the drizzle migrateUpSQL from drizzle using the last schema\n const { generateDrizzleJson, generateMigration } = require('drizzle-kit/api')\n const drizzleJsonAfter = generateDrizzleJson(adapter.schema)\n\n // Get the previous migration snapshot\n const previousSnapshot = fs\n .readdirSync(dir)\n .filter((file) => file.endsWith('.json') && !file.endsWith('relationships_v2_v3.json'))\n .sort()\n .reverse()?.[0]\n\n if (!previousSnapshot) {\n throw new Error(\n `No previous migration schema file found! A prior migration from v2 is required to migrate to v3.`,\n )\n }\n\n const drizzleJsonBefore = JSON.parse(\n fs.readFileSync(`${dir}/${previousSnapshot}`, 'utf8'),\n ) as DrizzleSnapshotJSON\n\n const generatedSQL = await generateMigration(drizzleJsonBefore, drizzleJsonAfter)\n\n if (!generatedSQL.length) {\n payload.logger.info(`No schema changes needed.`)\n process.exit(0)\n }\n\n const sqlUpStatements = groupUpSQLStatements(generatedSQL)\n\n const addColumnsStatement = sqlUpStatements.addColumn.join('\\n')\n\n if (debug) {\n payload.logger.info('CREATING NEW RELATIONSHIP COLUMNS')\n payload.logger.info(addColumnsStatement)\n }\n\n await db.execute(sql.raw(addColumnsStatement))\n\n for (const collection of payload.config.collections) {\n const tableName = adapter.tableNameMap.get(toSnakeCase(collection.slug))\n const pathsToQuery: PathsToQuery = new Set()\n\n traverseFields({\n adapter,\n collectionSlug: collection.slug,\n columnPrefix: '',\n db,\n disableNotNull: false,\n fields: collection.fields,\n isVersions: false,\n newTableName: tableName,\n parentTableName: tableName,\n path: '',\n pathsToQuery,\n payload,\n rootTableName: tableName,\n })\n\n await migrateRelationships({\n adapter,\n collectionSlug: collection.slug,\n db,\n debug,\n fields: collection.fields,\n isVersions: false,\n pathsToQuery,\n payload,\n req,\n tableName,\n })\n\n if (collection.versions) {\n const versionsTableName = adapter.tableNameMap.get(\n `_${toSnakeCase(collection.slug)}${adapter.versionsSuffix}`,\n )\n const versionFields = buildVersionCollectionFields(payload.config, collection)\n const versionPathsToQuery: PathsToQuery = new Set()\n\n traverseFields({\n adapter,\n collectionSlug: collection.slug,\n columnPrefix: '',\n db,\n disableNotNull: true,\n fields: versionFields,\n isVersions: true,\n newTableName: versionsTableName,\n parentTableName: versionsTableName,\n path: '',\n pathsToQuery: versionPathsToQuery,\n payload,\n rootTableName: versionsTableName,\n })\n\n await migrateRelationships({\n adapter,\n collectionSlug: collection.slug,\n db,\n debug,\n fields: versionFields,\n isVersions: true,\n pathsToQuery: versionPathsToQuery,\n payload,\n req,\n tableName: versionsTableName,\n })\n }\n }\n\n for (const global of payload.config.globals) {\n const tableName = adapter.tableNameMap.get(toSnakeCase(global.slug))\n\n const pathsToQuery: PathsToQuery = new Set()\n\n traverseFields({\n adapter,\n columnPrefix: '',\n db,\n disableNotNull: false,\n fields: global.fields,\n globalSlug: global.slug,\n isVersions: false,\n newTableName: tableName,\n parentTableName: tableName,\n path: '',\n pathsToQuery,\n payload,\n rootTableName: tableName,\n })\n\n await migrateRelationships({\n adapter,\n db,\n debug,\n fields: global.fields,\n globalSlug: global.slug,\n isVersions: false,\n pathsToQuery,\n payload,\n req,\n tableName,\n })\n\n if (global.versions) {\n const versionsTableName = adapter.tableNameMap.get(\n `_${toSnakeCase(global.slug)}${adapter.versionsSuffix}`,\n )\n\n const versionFields = buildVersionGlobalFields(payload.config, global)\n\n const versionPathsToQuery: PathsToQuery = new Set()\n\n traverseFields({\n adapter,\n columnPrefix: '',\n db,\n disableNotNull: true,\n fields: versionFields,\n globalSlug: global.slug,\n isVersions: true,\n newTableName: versionsTableName,\n parentTableName: versionsTableName,\n path: '',\n pathsToQuery: versionPathsToQuery,\n payload,\n rootTableName: versionsTableName,\n })\n\n await migrateRelationships({\n adapter,\n db,\n debug,\n fields: versionFields,\n globalSlug: global.slug,\n isVersions: true,\n pathsToQuery: versionPathsToQuery,\n payload,\n req,\n tableName: versionsTableName,\n })\n }\n }\n\n // ADD CONSTRAINT\n const addConstraintsStatement = sqlUpStatements.addConstraint.join('\\n')\n\n if (debug) {\n payload.logger.info('ADDING CONSTRAINTS')\n payload.logger.info(addConstraintsStatement)\n }\n\n await db.execute(sql.raw(addConstraintsStatement))\n\n // NOT NULL\n const notNullStatements = sqlUpStatements.notNull.join('\\n')\n\n if (debug) {\n payload.logger.info('NOT NULL CONSTRAINTS')\n payload.logger.info(notNullStatements)\n }\n\n await db.execute(sql.raw(notNullStatements))\n\n // DROP TABLE\n const dropTablesStatement = sqlUpStatements.dropTable.join('\\n')\n\n if (debug) {\n payload.logger.info('DROPPING TABLES')\n payload.logger.info(dropTablesStatement)\n }\n\n await db.execute(sql.raw(dropTablesStatement))\n\n // DROP CONSTRAINT\n const dropConstraintsStatement = sqlUpStatements.dropConstraint.join('\\n')\n\n if (debug) {\n payload.logger.info('DROPPING CONSTRAINTS')\n payload.logger.info(dropConstraintsStatement)\n }\n\n await db.execute(sql.raw(dropConstraintsStatement))\n\n // DROP COLUMN\n const dropColumnsStatement = sqlUpStatements.dropColumn.join('\\n')\n\n if (debug) {\n payload.logger.info('DROPPING COLUMNS')\n payload.logger.info(dropColumnsStatement)\n }\n\n await db.execute(sql.raw(dropColumnsStatement))\n}\n"],"names":["sql","fs","createRequire","buildVersionCollectionFields","buildVersionGlobalFields","toSnakeCase","groupUpSQLStatements","migrateRelationships","traverseFields","require","url","migratePostgresV2toV3","debug","payload","req","adapter","db","sessions","transactionID","dir","migrationDir","generateDrizzleJson","generateMigration","drizzleJsonAfter","schema","previousSnapshot","readdirSync","filter","file","endsWith","sort","reverse","Error","drizzleJsonBefore","JSON","parse","readFileSync","generatedSQL","length","logger","info","process","exit","sqlUpStatements","addColumnsStatement","addColumn","join","execute","raw","collection","config","collections","tableName","tableNameMap","get","slug","pathsToQuery","Set","collectionSlug","columnPrefix","disableNotNull","fields","isVersions","newTableName","parentTableName","path","rootTableName","versions","versionsTableName","versionsSuffix","versionFields","versionPathsToQuery","global","globals","globalSlug","addConstraintsStatement","addConstraint","notNullStatements","notNull","dropTablesStatement","dropTable","dropConstraintsStatement","dropConstraint","dropColumnsStatement","dropColumn"],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { TransactionPg } from '@payloadcms/drizzle/types';
2
+ import type { Field, Payload, PayloadRequest } from 'payload';
3
+ import type { PostgresAdapter } from '../../types.js';
4
+ import type { PathsToQuery } from './types.js';
5
+ type Args = {
6
+ adapter: PostgresAdapter;
7
+ collectionSlug?: string;
8
+ db: TransactionPg;
9
+ debug: boolean;
10
+ fields: Field[];
11
+ globalSlug?: string;
12
+ isVersions: boolean;
13
+ pathsToQuery: PathsToQuery;
14
+ payload: Payload;
15
+ req?: Partial<PayloadRequest>;
16
+ tableName: string;
17
+ };
18
+ export declare const migrateRelationships: ({ adapter, collectionSlug, db, debug, fields, globalSlug, isVersions, pathsToQuery, payload, req, tableName, }: Args) => Promise<void>;
19
+ export {};
20
+ //# sourceMappingURL=migrateRelationships.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrateRelationships.d.ts","sourceRoot":"","sources":["../../../src/predefinedMigrations/v2-v3/migrateRelationships.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAI7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,KAAK,EAAgB,YAAY,EAAE,MAAM,YAAY,CAAA;AAI5D,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,EAAE,EAAE,aAAa,CAAA;IACjB,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,OAAO,CAAA;IACnB,YAAY,EAAE,YAAY,CAAA;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IAC7B,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,oBAAoB,mHAY9B,IAAI,kBAwEN,CAAA"}
@@ -0,0 +1,63 @@
1
+ import { sql } from 'drizzle-orm';
2
+ import { fetchAndResave } from './fetchAndResave/index.js';
3
+ export const migrateRelationships = async ({ adapter, collectionSlug, db, debug, fields, globalSlug, isVersions, pathsToQuery, payload, req, tableName })=>{
4
+ if (pathsToQuery.size === 0) {
5
+ return;
6
+ }
7
+ let offset = 0;
8
+ let paginationResult;
9
+ const where = Array.from(pathsToQuery).reduce((statement, path, i)=>{
10
+ return statement += `
11
+ "${tableName}${adapter.relationshipsSuffix}"."path" LIKE '${path}'${pathsToQuery.size !== i + 1 ? ' OR' : ''}
12
+ `;
13
+ }, '');
14
+ while(typeof paginationResult === 'undefined' || paginationResult.rows.length > 0){
15
+ const paginationStatement = `SELECT DISTINCT parent_id FROM ${tableName}${adapter.relationshipsSuffix} WHERE
16
+ ${where} ORDER BY parent_id LIMIT 500 OFFSET ${offset * 500};
17
+ `;
18
+ paginationResult = await adapter.drizzle.execute(sql.raw(`${paginationStatement}`));
19
+ if (paginationResult.rows.length === 0) {
20
+ return;
21
+ }
22
+ offset += 1;
23
+ const statement = `SELECT * FROM ${tableName}${adapter.relationshipsSuffix} WHERE
24
+ (${where}) AND parent_id IN (${paginationResult.rows.map((row)=>row.parent_id).join(', ')});
25
+ `;
26
+ if (debug) {
27
+ payload.logger.info('FINDING ROWS TO MIGRATE');
28
+ payload.logger.info(statement);
29
+ }
30
+ const result = await adapter.drizzle.execute(sql.raw(`${statement}`));
31
+ const docsToResave = {};
32
+ result.rows.forEach((row)=>{
33
+ const parentID = row.parent_id;
34
+ if (typeof parentID === 'string' || typeof parentID === 'number') {
35
+ if (!docsToResave[parentID]) {
36
+ docsToResave[parentID] = [];
37
+ }
38
+ docsToResave[parentID].push(row);
39
+ }
40
+ });
41
+ await fetchAndResave({
42
+ adapter,
43
+ collectionSlug,
44
+ db,
45
+ debug,
46
+ docsToResave,
47
+ fields,
48
+ globalSlug,
49
+ isVersions,
50
+ payload,
51
+ req: req,
52
+ tableName
53
+ });
54
+ }
55
+ const deleteStatement = `DELETE FROM ${tableName}${adapter.relationshipsSuffix} WHERE ${where}`;
56
+ if (debug) {
57
+ payload.logger.info('DELETING ROWS');
58
+ payload.logger.info(deleteStatement);
59
+ }
60
+ await db.execute(sql.raw(`${deleteStatement}`));
61
+ };
62
+
63
+ //# sourceMappingURL=migrateRelationships.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/predefinedMigrations/v2-v3/migrateRelationships.ts"],"sourcesContent":["import type { TransactionPg } from '@payloadcms/drizzle/types'\nimport type { Field, Payload, PayloadRequest } from 'payload'\n\nimport { sql } from 'drizzle-orm'\n\nimport type { PostgresAdapter } from '../../types.js'\nimport type { DocsToResave, PathsToQuery } from './types.js'\n\nimport { fetchAndResave } from './fetchAndResave/index.js'\n\ntype Args = {\n adapter: PostgresAdapter\n collectionSlug?: string\n db: TransactionPg\n debug: boolean\n fields: Field[]\n globalSlug?: string\n isVersions: boolean\n pathsToQuery: PathsToQuery\n payload: Payload\n req?: Partial<PayloadRequest>\n tableName: string\n}\n\nexport const migrateRelationships = async ({\n adapter,\n collectionSlug,\n db,\n debug,\n fields,\n globalSlug,\n isVersions,\n pathsToQuery,\n payload,\n req,\n tableName,\n}: Args) => {\n if (pathsToQuery.size === 0) {\n return\n }\n\n let offset = 0\n\n let paginationResult\n\n const where = Array.from(pathsToQuery).reduce((statement, path, i) => {\n return (statement += `\n\"${tableName}${adapter.relationshipsSuffix}\".\"path\" LIKE '${path}'${pathsToQuery.size !== i + 1 ? ' OR' : ''}\n`)\n }, '')\n\n while (typeof paginationResult === 'undefined' || paginationResult.rows.length > 0) {\n const paginationStatement = `SELECT DISTINCT parent_id FROM ${tableName}${adapter.relationshipsSuffix} WHERE\n ${where} ORDER BY parent_id LIMIT 500 OFFSET ${offset * 500};\n `\n\n paginationResult = await adapter.drizzle.execute(sql.raw(`${paginationStatement}`))\n\n if (paginationResult.rows.length === 0) {\n return\n }\n\n offset += 1\n\n const statement = `SELECT * FROM ${tableName}${adapter.relationshipsSuffix} WHERE\n (${where}) AND parent_id IN (${paginationResult.rows.map((row) => row.parent_id).join(', ')});\n`\n if (debug) {\n payload.logger.info('FINDING ROWS TO MIGRATE')\n payload.logger.info(statement)\n }\n\n const result = await adapter.drizzle.execute(sql.raw(`${statement}`))\n\n const docsToResave: DocsToResave = {}\n\n result.rows.forEach((row) => {\n const parentID = row.parent_id\n\n if (typeof parentID === 'string' || typeof parentID === 'number') {\n if (!docsToResave[parentID]) {\n docsToResave[parentID] = []\n }\n docsToResave[parentID].push(row)\n }\n })\n\n await fetchAndResave({\n adapter,\n collectionSlug,\n db,\n debug,\n docsToResave,\n fields,\n globalSlug,\n isVersions,\n payload,\n req: req as unknown as PayloadRequest,\n tableName,\n })\n }\n\n const deleteStatement = `DELETE FROM ${tableName}${adapter.relationshipsSuffix} WHERE ${where}`\n if (debug) {\n payload.logger.info('DELETING ROWS')\n payload.logger.info(deleteStatement)\n }\n await db.execute(sql.raw(`${deleteStatement}`))\n}\n"],"names":["sql","fetchAndResave","migrateRelationships","adapter","collectionSlug","db","debug","fields","globalSlug","isVersions","pathsToQuery","payload","req","tableName","size","offset","paginationResult","where","Array","from","reduce","statement","path","i","relationshipsSuffix","rows","length","paginationStatement","drizzle","execute","raw","map","row","parent_id","join","logger","info","result","docsToResave","forEach","parentID","push","deleteStatement"],"mappings":"AAGA,SAASA,GAAG,QAAQ,cAAa;AAKjC,SAASC,cAAc,QAAQ,4BAA2B;AAgB1D,OAAO,MAAMC,uBAAuB,OAAO,EACzCC,OAAO,EACPC,cAAc,EACdC,EAAE,EACFC,KAAK,EACLC,MAAM,EACNC,UAAU,EACVC,UAAU,EACVC,YAAY,EACZC,OAAO,EACPC,GAAG,EACHC,SAAS,EACJ;IACL,IAAIH,aAAaI,IAAI,KAAK,GAAG;QAC3B;IACF;IAEA,IAAIC,SAAS;IAEb,IAAIC;IAEJ,MAAMC,QAAQC,MAAMC,IAAI,CAACT,cAAcU,MAAM,CAAC,CAACC,WAAWC,MAAMC;QAC9D,OAAQF,aAAa,CAAC;CACzB,EAAER,UAAU,EAAEV,QAAQqB,mBAAmB,CAAC,eAAe,EAAEF,KAAK,CAAC,EAAEZ,aAAaI,IAAI,KAAKS,IAAI,IAAI,QAAQ,GAAG;AAC7G,CAAC;IACC,GAAG;IAEH,MAAO,OAAOP,qBAAqB,eAAeA,iBAAiBS,IAAI,CAACC,MAAM,GAAG,EAAG;QAClF,MAAMC,sBAAsB,CAAC,+BAA+B,EAAEd,UAAU,EAAEV,QAAQqB,mBAAmB,CAAC;IACtG,EAAEP,MAAM,qCAAqC,EAAEF,SAAS,IAAI;EAC9D,CAAC;QAECC,mBAAmB,MAAMb,QAAQyB,OAAO,CAACC,OAAO,CAAC7B,IAAI8B,GAAG,CAAC,CAAC,EAAEH,oBAAoB,CAAC;QAEjF,IAAIX,iBAAiBS,IAAI,CAACC,MAAM,KAAK,GAAG;YACtC;QACF;QAEAX,UAAU;QAEV,MAAMM,YAAY,CAAC,cAAc,EAAER,UAAU,EAAEV,QAAQqB,mBAAmB,CAAC;KAC1E,EAAEP,MAAM,oBAAoB,EAAED,iBAAiBS,IAAI,CAACM,GAAG,CAAC,CAACC,MAAQA,IAAIC,SAAS,EAAEC,IAAI,CAAC,MAAM;AAChG,CAAC;QACG,IAAI5B,OAAO;YACTK,QAAQwB,MAAM,CAACC,IAAI,CAAC;YACpBzB,QAAQwB,MAAM,CAACC,IAAI,CAACf;QACtB;QAEA,MAAMgB,SAAS,MAAMlC,QAAQyB,OAAO,CAACC,OAAO,CAAC7B,IAAI8B,GAAG,CAAC,CAAC,EAAET,UAAU,CAAC;QAEnE,MAAMiB,eAA6B,CAAC;QAEpCD,OAAOZ,IAAI,CAACc,OAAO,CAAC,CAACP;YACnB,MAAMQ,WAAWR,IAAIC,SAAS;YAE9B,IAAI,OAAOO,aAAa,YAAY,OAAOA,aAAa,UAAU;gBAChE,IAAI,CAACF,YAAY,CAACE,SAAS,EAAE;oBAC3BF,YAAY,CAACE,SAAS,GAAG,EAAE;gBAC7B;gBACAF,YAAY,CAACE,SAAS,CAACC,IAAI,CAACT;YAC9B;QACF;QAEA,MAAM/B,eAAe;YACnBE;YACAC;YACAC;YACAC;YACAgC;YACA/B;YACAC;YACAC;YACAE;YACAC,KAAKA;YACLC;QACF;IACF;IAEA,MAAM6B,kBAAkB,CAAC,YAAY,EAAE7B,UAAU,EAAEV,QAAQqB,mBAAmB,CAAC,OAAO,EAAEP,MAAM,CAAC;IAC/F,IAAIX,OAAO;QACTK,QAAQwB,MAAM,CAACC,IAAI,CAAC;QACpBzB,QAAQwB,MAAM,CAACC,IAAI,CAACM;IACtB;IACA,MAAMrC,GAAGwB,OAAO,CAAC7B,IAAI8B,GAAG,CAAC,CAAC,EAAEY,gBAAgB,CAAC;AAC/C,EAAC"}
@@ -0,0 +1,23 @@
1
+ import type { TransactionPg } from '@payloadcms/drizzle/types';
2
+ import type { Field, Payload } from 'payload';
3
+ import type { PostgresAdapter } from '../../types.js';
4
+ import type { PathsToQuery } from './types.js';
5
+ type Args = {
6
+ adapter: PostgresAdapter;
7
+ collectionSlug?: string;
8
+ columnPrefix: string;
9
+ db: TransactionPg;
10
+ disableNotNull: boolean;
11
+ fields: Field[];
12
+ globalSlug?: string;
13
+ isVersions: boolean;
14
+ newTableName: string;
15
+ parentTableName: string;
16
+ path: string;
17
+ pathsToQuery: PathsToQuery;
18
+ payload: Payload;
19
+ rootTableName: string;
20
+ };
21
+ export declare const traverseFields: (args: Args) => void;
22
+ export {};
23
+ //# sourceMappingURL=traverseFields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../../src/predefinedMigrations/v2-v3/traverseFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAK7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,EAAE,EAAE,aAAa,CAAA;IACjB,cAAc,EAAE,OAAO,CAAA;IACvB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,OAAO,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,YAAY,CAAA;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,cAAc,SAAU,IAAI,SA0FxC,CAAA"}
@@ -0,0 +1,85 @@
1
+ import { tabHasName } from 'payload/shared';
2
+ import toSnakeCase from 'to-snake-case';
3
+ export const traverseFields = (args)=>{
4
+ args.fields.forEach((field)=>{
5
+ switch(field.type){
6
+ case 'array':
7
+ {
8
+ const newTableName = args.adapter.tableNameMap.get(`${args.newTableName}_${toSnakeCase(field.name)}`);
9
+ return traverseFields({
10
+ ...args,
11
+ columnPrefix: '',
12
+ fields: field.fields,
13
+ newTableName,
14
+ parentTableName: newTableName,
15
+ path: `${args.path ? `${args.path}.` : ''}${field.name}.%`
16
+ });
17
+ }
18
+ case 'blocks':
19
+ {
20
+ return field.blocks.forEach((block)=>{
21
+ const newTableName = args.adapter.tableNameMap.get(`${args.rootTableName}_blocks_${toSnakeCase(block.slug)}`);
22
+ traverseFields({
23
+ ...args,
24
+ columnPrefix: '',
25
+ fields: block.fields,
26
+ newTableName,
27
+ parentTableName: newTableName,
28
+ path: `${args.path ? `${args.path}.` : ''}${field.name}.%`
29
+ });
30
+ });
31
+ }
32
+ case 'collapsible':
33
+ case 'row':
34
+ {
35
+ return traverseFields({
36
+ ...args,
37
+ fields: field.fields
38
+ });
39
+ }
40
+ case 'group':
41
+ {
42
+ let newTableName = `${args.newTableName}_${toSnakeCase(field.name)}`;
43
+ if (field.localized && args.payload.config.localization) {
44
+ newTableName += args.adapter.localesSuffix;
45
+ }
46
+ return traverseFields({
47
+ ...args,
48
+ columnPrefix: `${args.columnPrefix}${toSnakeCase(field.name)}_`,
49
+ fields: field.fields,
50
+ newTableName,
51
+ path: `${args.path ? `${args.path}.` : ''}${field.name}`
52
+ });
53
+ }
54
+ case 'relationship':
55
+ case 'upload':
56
+ {
57
+ if (typeof field.relationTo === 'string') {
58
+ if (field.type === 'upload' || !field.hasMany) {
59
+ args.pathsToQuery.add(`${args.path ? `${args.path}.` : ''}${field.name}`);
60
+ }
61
+ }
62
+ return null;
63
+ }
64
+ case 'tabs':
65
+ {
66
+ return field.tabs.forEach((tab)=>{
67
+ if (tabHasName(tab)) {
68
+ args.columnPrefix = `${args.columnPrefix}_${toSnakeCase(tab.name)}_`;
69
+ args.path = `${args.path ? `${args.path}.` : ''}${tab.name}`;
70
+ args.newTableName = `${args.newTableName}_${toSnakeCase(tab.name)}`;
71
+ if (tab.localized && args.payload.config.localization) {
72
+ args.newTableName += args.adapter.localesSuffix;
73
+ }
74
+ }
75
+ traverseFields({
76
+ ...args,
77
+ fields: tab.fields
78
+ });
79
+ });
80
+ }
81
+ }
82
+ });
83
+ };
84
+
85
+ //# sourceMappingURL=traverseFields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/predefinedMigrations/v2-v3/traverseFields.ts"],"sourcesContent":["import type { TransactionPg } from '@payloadcms/drizzle/types'\nimport type { Field, Payload } from 'payload'\n\nimport { tabHasName } from 'payload/shared'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { PostgresAdapter } from '../../types.js'\nimport type { PathsToQuery } from './types.js'\n\ntype Args = {\n adapter: PostgresAdapter\n collectionSlug?: string\n columnPrefix: string\n db: TransactionPg\n disableNotNull: boolean\n fields: Field[]\n globalSlug?: string\n isVersions: boolean\n newTableName: string\n parentTableName: string\n path: string\n pathsToQuery: PathsToQuery\n payload: Payload\n rootTableName: string\n}\n\nexport const traverseFields = (args: Args) => {\n args.fields.forEach((field) => {\n switch (field.type) {\n case 'array': {\n const newTableName = args.adapter.tableNameMap.get(\n `${args.newTableName}_${toSnakeCase(field.name)}`,\n )\n\n return traverseFields({\n ...args,\n columnPrefix: '',\n fields: field.fields,\n newTableName,\n parentTableName: newTableName,\n path: `${args.path ? `${args.path}.` : ''}${field.name}.%`,\n })\n }\n\n case 'blocks': {\n return field.blocks.forEach((block) => {\n const newTableName = args.adapter.tableNameMap.get(\n `${args.rootTableName}_blocks_${toSnakeCase(block.slug)}`,\n )\n\n traverseFields({\n ...args,\n columnPrefix: '',\n fields: block.fields,\n newTableName,\n parentTableName: newTableName,\n path: `${args.path ? `${args.path}.` : ''}${field.name}.%`,\n })\n })\n }\n case 'collapsible':\n\n case 'row': {\n return traverseFields({\n ...args,\n fields: field.fields,\n })\n }\n\n case 'group': {\n let newTableName = `${args.newTableName}_${toSnakeCase(field.name)}`\n\n if (field.localized && args.payload.config.localization) {\n newTableName += args.adapter.localesSuffix\n }\n\n return traverseFields({\n ...args,\n columnPrefix: `${args.columnPrefix}${toSnakeCase(field.name)}_`,\n fields: field.fields,\n newTableName,\n path: `${args.path ? `${args.path}.` : ''}${field.name}`,\n })\n }\n\n case 'relationship':\n\n case 'upload': {\n if (typeof field.relationTo === 'string') {\n if (field.type === 'upload' || !field.hasMany) {\n args.pathsToQuery.add(`${args.path ? `${args.path}.` : ''}${field.name}`)\n }\n }\n\n return null\n }\n case 'tabs': {\n return field.tabs.forEach((tab) => {\n if (tabHasName(tab)) {\n args.columnPrefix = `${args.columnPrefix}_${toSnakeCase(tab.name)}_`\n args.path = `${args.path ? `${args.path}.` : ''}${tab.name}`\n args.newTableName = `${args.newTableName}_${toSnakeCase(tab.name)}`\n\n if (tab.localized && args.payload.config.localization) {\n args.newTableName += args.adapter.localesSuffix\n }\n }\n\n traverseFields({\n ...args,\n fields: tab.fields,\n })\n })\n }\n }\n })\n}\n"],"names":["tabHasName","toSnakeCase","traverseFields","args","fields","forEach","field","type","newTableName","adapter","tableNameMap","get","name","columnPrefix","parentTableName","path","blocks","block","rootTableName","slug","localized","payload","config","localization","localesSuffix","relationTo","hasMany","pathsToQuery","add","tabs","tab"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Set of all paths which should be moved
3
+ * This will be built up into one WHERE query
4
+ */
5
+ export type PathsToQuery = Set<string>;
6
+ export type DocsToResave = {
7
+ [id: number | string]: Record<string, unknown>[];
8
+ };
9
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/predefinedMigrations/v2-v3/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAA;AAEtC,MAAM,MAAM,YAAY,GAAG;IACzB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;CACjD,CAAA"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Set of all paths which should be moved
3
+ * This will be built up into one WHERE query
4
+ */ export { };
5
+
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/predefinedMigrations/v2-v3/types.ts"],"sourcesContent":["/**\n * Set of all paths which should be moved\n * This will be built up into one WHERE query\n */\nexport type PathsToQuery = Set<string>\n\nexport type DocsToResave = {\n [id: number | string]: Record<string, unknown>[]\n}\n"],"names":[],"mappings":"AAAA;;;CAGC,GAGD,WAEC"}