@payloadcms/db-postgres 3.0.0-beta.38 → 3.0.0-beta.39

Sign up to get free protection for your applications and to get access to all the features.
Files changed (114) hide show
  1. package/dist/count.d.ts.map +1 -1
  2. package/dist/count.js +1 -10
  3. package/dist/count.js.map +1 -1
  4. package/dist/createMigration.d.ts.map +1 -1
  5. package/dist/createMigration.js +58 -37
  6. package/dist/createMigration.js.map +1 -1
  7. package/dist/createVersion.d.ts.map +1 -1
  8. package/dist/createVersion.js +2 -6
  9. package/dist/createVersion.js.map +1 -1
  10. package/dist/deleteOne.js +2 -2
  11. package/dist/deleteOne.js.map +1 -1
  12. package/dist/exports/migration-utils.d.ts +2 -0
  13. package/dist/exports/migration-utils.d.ts.map +1 -0
  14. package/dist/exports/migration-utils.js +3 -0
  15. package/dist/exports/migration-utils.js.map +1 -0
  16. package/dist/find/buildFindManyArgs.d.ts +5 -1
  17. package/dist/find/buildFindManyArgs.d.ts.map +1 -1
  18. package/dist/find/buildFindManyArgs.js +2 -1
  19. package/dist/find/buildFindManyArgs.js.map +1 -1
  20. package/dist/find/findMany.d.ts.map +1 -1
  21. package/dist/find/findMany.js +4 -15
  22. package/dist/find/findMany.js.map +1 -1
  23. package/dist/find/traverseFields.d.ts +3 -2
  24. package/dist/find/traverseFields.d.ts.map +1 -1
  25. package/dist/find/traverseFields.js +22 -4
  26. package/dist/find/traverseFields.js.map +1 -1
  27. package/dist/init.d.ts.map +1 -1
  28. package/dist/init.js +14 -19
  29. package/dist/init.js.map +1 -1
  30. package/dist/predefinedMigrations/relationships-v2-v3.d.ts +4 -0
  31. package/dist/predefinedMigrations/relationships-v2-v3.d.ts.map +1 -0
  32. package/dist/predefinedMigrations/relationships-v2-v3.js.map +1 -0
  33. package/dist/predefinedMigrations/relationships-v2-v3.mjs +11 -0
  34. package/dist/predefinedMigrations/v2-v3/fetchAndResave/index.d.ts +20 -0
  35. package/dist/predefinedMigrations/v2-v3/fetchAndResave/index.d.ts.map +1 -0
  36. package/dist/predefinedMigrations/v2-v3/fetchAndResave/index.js +170 -0
  37. package/dist/predefinedMigrations/v2-v3/fetchAndResave/index.js.map +1 -0
  38. package/dist/predefinedMigrations/v2-v3/fetchAndResave/traverseFields.d.ts +11 -0
  39. package/dist/predefinedMigrations/v2-v3/fetchAndResave/traverseFields.d.ts.map +1 -0
  40. package/dist/predefinedMigrations/v2-v3/fetchAndResave/traverseFields.js +191 -0
  41. package/dist/predefinedMigrations/v2-v3/fetchAndResave/traverseFields.js.map +1 -0
  42. package/dist/predefinedMigrations/v2-v3/groupUpSQLStatements.d.ts +3 -0
  43. package/dist/predefinedMigrations/v2-v3/groupUpSQLStatements.d.ts.map +1 -0
  44. package/dist/predefinedMigrations/v2-v3/groupUpSQLStatements.js +56 -0
  45. package/dist/predefinedMigrations/v2-v3/groupUpSQLStatements.js.map +1 -0
  46. package/dist/predefinedMigrations/v2-v3/index.d.ts +24 -0
  47. package/dist/predefinedMigrations/v2-v3/index.d.ts.map +1 -0
  48. package/dist/predefinedMigrations/v2-v3/index.js +211 -0
  49. package/dist/predefinedMigrations/v2-v3/index.js.map +1 -0
  50. package/dist/predefinedMigrations/v2-v3/migrateRelationships.d.ts +19 -0
  51. package/dist/predefinedMigrations/v2-v3/migrateRelationships.d.ts.map +1 -0
  52. package/dist/predefinedMigrations/v2-v3/migrateRelationships.js +57 -0
  53. package/dist/predefinedMigrations/v2-v3/migrateRelationships.js.map +1 -0
  54. package/dist/predefinedMigrations/v2-v3/traverseFields.d.ts +23 -0
  55. package/dist/predefinedMigrations/v2-v3/traverseFields.d.ts.map +1 -0
  56. package/dist/predefinedMigrations/v2-v3/traverseFields.js +85 -0
  57. package/dist/predefinedMigrations/v2-v3/traverseFields.js.map +1 -0
  58. package/dist/predefinedMigrations/v2-v3/types.d.ts +9 -0
  59. package/dist/predefinedMigrations/v2-v3/types.d.ts.map +1 -0
  60. package/dist/predefinedMigrations/v2-v3/types.js +6 -0
  61. package/dist/predefinedMigrations/v2-v3/types.js.map +1 -0
  62. package/dist/queries/buildAndOrConditions.d.ts +3 -4
  63. package/dist/queries/buildAndOrConditions.d.ts.map +1 -1
  64. package/dist/queries/buildAndOrConditions.js +1 -2
  65. package/dist/queries/buildAndOrConditions.js.map +1 -1
  66. package/dist/queries/buildQuery.d.ts +1 -2
  67. package/dist/queries/buildQuery.d.ts.map +1 -1
  68. package/dist/queries/buildQuery.js +1 -5
  69. package/dist/queries/buildQuery.js.map +1 -1
  70. package/dist/queries/getTableColumnFromPath.d.ts +3 -4
  71. package/dist/queries/getTableColumnFromPath.d.ts.map +1 -1
  72. package/dist/queries/getTableColumnFromPath.js +168 -96
  73. package/dist/queries/getTableColumnFromPath.js.map +1 -1
  74. package/dist/queries/parseParams.d.ts +3 -4
  75. package/dist/queries/parseParams.d.ts.map +1 -1
  76. package/dist/queries/parseParams.js +1 -3
  77. package/dist/queries/parseParams.js.map +1 -1
  78. package/dist/queries/selectDistinct.d.ts +3 -4
  79. package/dist/queries/selectDistinct.d.ts.map +1 -1
  80. package/dist/queries/selectDistinct.js +3 -14
  81. package/dist/queries/selectDistinct.js.map +1 -1
  82. package/dist/schema/build.d.ts +8 -4
  83. package/dist/schema/build.d.ts.map +1 -1
  84. package/dist/schema/build.js +161 -112
  85. package/dist/schema/build.js.map +1 -1
  86. package/dist/schema/traverseFields.d.ts +4 -6
  87. package/dist/schema/traverseFields.d.ts.map +1 -1
  88. package/dist/schema/traverseFields.js +103 -40
  89. package/dist/schema/traverseFields.js.map +1 -1
  90. package/dist/transform/read/index.d.ts +3 -1
  91. package/dist/transform/read/index.d.ts.map +1 -1
  92. package/dist/transform/read/index.js +2 -1
  93. package/dist/transform/read/index.js.map +1 -1
  94. package/dist/transform/read/relationship.d.ts.map +1 -1
  95. package/dist/transform/read/relationship.js +0 -4
  96. package/dist/transform/read/relationship.js.map +1 -1
  97. package/dist/transform/read/traverseFields.d.ts +6 -1
  98. package/dist/transform/read/traverseFields.d.ts.map +1 -1
  99. package/dist/transform/read/traverseFields.js +69 -55
  100. package/dist/transform/read/traverseFields.js.map +1 -1
  101. package/dist/transform/write/traverseFields.d.ts.map +1 -1
  102. package/dist/transform/write/traverseFields.js +20 -3
  103. package/dist/transform/write/traverseFields.js.map +1 -1
  104. package/dist/update.d.ts.map +1 -1
  105. package/dist/update.js +1 -2
  106. package/dist/update.js.map +1 -1
  107. package/dist/upsertRow/index.d.ts +1 -1
  108. package/dist/upsertRow/index.d.ts.map +1 -1
  109. package/dist/upsertRow/index.js +3 -1
  110. package/dist/upsertRow/index.js.map +1 -1
  111. package/dist/upsertRow/types.d.ts +5 -0
  112. package/dist/upsertRow/types.d.ts.map +1 -1
  113. package/dist/upsertRow/types.js.map +1 -1
  114. package/package.json +11 -5
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/find/traverseFields.ts"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport type { Field } from 'payload/types'\n\nimport { fieldAffectsData, tabHasName } from 'payload/types'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { PostgresAdapter } from '../types.js'\nimport type { Result } from './buildFindManyArgs.js'\n\ntype TraverseFieldArgs = {\n _locales: Record<string, unknown>\n adapter: PostgresAdapter\n currentArgs: Record<string, unknown>\n currentTableName: string\n depth?: number\n fields: Field[]\n path: string\n topLevelArgs: Record<string, unknown>\n topLevelTableName: string\n}\n\nexport const traverseFields = ({\n _locales,\n adapter,\n currentArgs,\n currentTableName,\n depth,\n fields,\n path,\n topLevelArgs,\n topLevelTableName,\n}: TraverseFieldArgs) => {\n fields.forEach((field) => {\n if (field.type === 'collapsible' || field.type === 'row') {\n traverseFields({\n _locales,\n adapter,\n currentArgs,\n currentTableName,\n depth,\n fields: field.fields,\n path,\n topLevelArgs,\n topLevelTableName,\n })\n\n return\n }\n\n if (field.type === 'tabs') {\n field.tabs.forEach((tab) => {\n const tabPath = tabHasName(tab) ? `${path}${tab.name}_` : path\n\n traverseFields({\n _locales,\n adapter,\n currentArgs,\n currentTableName,\n depth,\n fields: tab.fields,\n path: tabPath,\n topLevelArgs,\n topLevelTableName,\n })\n })\n\n return\n }\n\n if (fieldAffectsData(field)) {\n switch (field.type) {\n case 'array': {\n const withArray: Result = {\n columns: {\n _parentID: false,\n },\n orderBy: ({ _order }, { asc }) => [asc(_order)],\n with: {},\n }\n\n const arrayTableName = adapter.tableNameMap.get(\n `${currentTableName}_${path}${toSnakeCase(field.name)}`,\n )\n\n const arrayTableNameWithLocales = `${arrayTableName}${adapter.localesSuffix}`\n\n if (adapter.tables[arrayTableNameWithLocales]) withArray.with._locales = _locales\n currentArgs.with[`${path}${field.name}`] = withArray\n\n traverseFields({\n _locales,\n adapter,\n currentArgs: withArray,\n currentTableName: arrayTableName,\n depth,\n fields: field.fields,\n path: '',\n topLevelArgs,\n topLevelTableName,\n })\n\n break\n }\n\n case 'select': {\n if (field.hasMany) {\n const withSelect: Result = {\n columns: {\n id: false,\n order: false,\n parent: false,\n },\n orderBy: ({ order }, { asc }) => [asc(order)],\n }\n\n currentArgs.with[`${path}${field.name}`] = withSelect\n }\n\n break\n }\n\n case 'blocks':\n field.blocks.forEach((block) => {\n const blockKey = `_blocks_${block.slug}`\n\n if (!topLevelArgs[blockKey]) {\n const withBlock: Result = {\n columns: {\n _parentID: false,\n },\n orderBy: ({ _order }, { asc }) => [asc(_order)],\n with: {},\n }\n\n const tableName = adapter.tableNameMap.get(\n `${topLevelTableName}_blocks_${toSnakeCase(block.slug)}`,\n )\n\n if (adapter.tables[`${tableName}${adapter.localesSuffix}`]) {\n withBlock.with._locales = _locales\n }\n topLevelArgs.with[blockKey] = withBlock\n\n traverseFields({\n _locales,\n adapter,\n currentArgs: withBlock,\n currentTableName: tableName,\n depth,\n fields: block.fields,\n path: '',\n topLevelArgs,\n topLevelTableName,\n })\n }\n })\n\n break\n\n case 'group':\n traverseFields({\n _locales,\n adapter,\n currentArgs,\n currentTableName,\n depth,\n fields: field.fields,\n path: `${path}${field.name}_`,\n topLevelArgs,\n topLevelTableName,\n })\n\n break\n\n default: {\n break\n }\n }\n }\n })\n\n return topLevelArgs\n}\n"],"names":["fieldAffectsData","tabHasName","toSnakeCase","traverseFields","_locales","adapter","currentArgs","currentTableName","depth","fields","path","topLevelArgs","topLevelTableName","forEach","field","type","tabs","tab","tabPath","name","withArray","columns","_parentID","orderBy","_order","asc","with","arrayTableName","tableNameMap","get","arrayTableNameWithLocales","localesSuffix","tables","hasMany","withSelect","id","order","parent","blocks","block","blockKey","slug","withBlock","tableName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../src/find/traverseFields.ts"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport type { Field } from 'payload/types'\n\nimport { fieldAffectsData, tabHasName } from 'payload/types'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { PostgresAdapter } from '../types.js'\nimport type { Result } from './buildFindManyArgs.js'\n\ntype TraverseFieldArgs = {\n _locales: Result\n adapter: PostgresAdapter\n currentArgs: Result\n currentTableName: string\n depth?: number\n fields: Field[]\n path: string\n topLevelArgs: Record<string, unknown>\n topLevelTableName: string\n}\n\nexport const traverseFields = ({\n _locales,\n adapter,\n currentArgs,\n currentTableName,\n depth,\n fields,\n path,\n topLevelArgs,\n topLevelTableName,\n}: TraverseFieldArgs) => {\n fields.forEach((field) => {\n // handle simple relationship\n if (\n depth > 0 &&\n (field.type === 'upload' ||\n (field.type === 'relationship' && !field.hasMany && typeof field.relationTo === 'string'))\n ) {\n if (field.localized) {\n _locales.with[`${path}${field.name}`] = true\n } else {\n currentArgs.with[`${path}${field.name}`] = true\n }\n }\n\n if (field.type === 'collapsible' || field.type === 'row') {\n traverseFields({\n _locales,\n adapter,\n currentArgs,\n currentTableName,\n depth,\n fields: field.fields,\n path,\n topLevelArgs,\n topLevelTableName,\n })\n\n return\n }\n\n if (field.type === 'tabs') {\n field.tabs.forEach((tab) => {\n const tabPath = tabHasName(tab) ? `${path}${tab.name}_` : path\n\n traverseFields({\n _locales,\n adapter,\n currentArgs,\n currentTableName,\n depth,\n fields: tab.fields,\n path: tabPath,\n topLevelArgs,\n topLevelTableName,\n })\n })\n\n return\n }\n\n if (fieldAffectsData(field)) {\n switch (field.type) {\n case 'array': {\n const withArray: Result = {\n columns: {\n _parentID: false,\n },\n orderBy: ({ _order }, { asc }) => [asc(_order)],\n with: {},\n }\n\n const arrayTableName = adapter.tableNameMap.get(\n `${currentTableName}_${path}${toSnakeCase(field.name)}`,\n )\n\n const arrayTableNameWithLocales = `${arrayTableName}${adapter.localesSuffix}`\n\n if (adapter.tables[arrayTableNameWithLocales]) {\n withArray.with._locales = {\n columns: {\n id: false,\n _parentID: false,\n },\n with: {},\n }\n }\n currentArgs.with[`${path}${field.name}`] = withArray\n\n traverseFields({\n _locales: withArray.with._locales,\n adapter,\n currentArgs: withArray,\n currentTableName: arrayTableName,\n depth,\n fields: field.fields,\n path: '',\n topLevelArgs,\n topLevelTableName,\n })\n\n break\n }\n\n case 'select': {\n if (field.hasMany) {\n const withSelect: Result = {\n columns: {\n id: false,\n order: false,\n parent: false,\n },\n orderBy: ({ order }, { asc }) => [asc(order)],\n }\n\n currentArgs.with[`${path}${field.name}`] = withSelect\n }\n\n break\n }\n\n case 'blocks':\n field.blocks.forEach((block) => {\n const blockKey = `_blocks_${block.slug}`\n\n if (!topLevelArgs[blockKey]) {\n const withBlock: Result = {\n columns: {\n _parentID: false,\n },\n orderBy: ({ _order }, { asc }) => [asc(_order)],\n with: {},\n }\n\n const tableName = adapter.tableNameMap.get(\n `${topLevelTableName}_blocks_${toSnakeCase(block.slug)}`,\n )\n\n if (adapter.tables[`${tableName}${adapter.localesSuffix}`]) {\n withBlock.with._locales = {\n with: {},\n }\n }\n topLevelArgs.with[blockKey] = withBlock\n\n traverseFields({\n _locales: withBlock.with._locales,\n adapter,\n currentArgs: withBlock,\n currentTableName: tableName,\n depth,\n fields: block.fields,\n path: '',\n topLevelArgs,\n topLevelTableName,\n })\n }\n })\n\n break\n\n case 'group':\n traverseFields({\n _locales,\n adapter,\n currentArgs,\n currentTableName,\n depth,\n fields: field.fields,\n path: `${path}${field.name}_`,\n topLevelArgs,\n topLevelTableName,\n })\n\n break\n\n default: {\n break\n }\n }\n }\n })\n\n return topLevelArgs\n}\n"],"names":["fieldAffectsData","tabHasName","toSnakeCase","traverseFields","_locales","adapter","currentArgs","currentTableName","depth","fields","path","topLevelArgs","topLevelTableName","forEach","field","type","hasMany","relationTo","localized","with","name","tabs","tab","tabPath","withArray","columns","_parentID","orderBy","_order","asc","arrayTableName","tableNameMap","get","arrayTableNameWithLocales","localesSuffix","tables","id","withSelect","order","parent","blocks","block","blockKey","slug","withBlock","tableName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAW5C,eAAO,MAAM,IAAI,EAAE,IAgGlB,CAAA"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAY5C,eAAO,MAAM,IAAI,EAAE,IA6FlB,CAAA"}
package/dist/init.js CHANGED
@@ -1,5 +1,6 @@
1
1
  /* eslint-disable no-param-reassign */ import { pgEnum, pgSchema, pgTable } from 'drizzle-orm/pg-core';
2
2
  import { buildVersionCollectionFields, buildVersionGlobalFields } from 'payload/versions';
3
+ import toSnakeCase from 'to-snake-case';
3
4
  import { buildTable } from './schema/build.js';
4
5
  import { createTableName } from './schema/createTableName.js';
5
6
  export const init = function init() {
@@ -14,15 +15,23 @@ export const init = function init() {
14
15
  this.enums.enum__locales = pgEnum('_locales', this.payload.config.localization.locales.map(({ code })=>code));
15
16
  }
16
17
  this.payload.config.collections.forEach((collection)=>{
17
- const tableName = createTableName({
18
+ createTableName({
18
19
  adapter: this,
19
20
  config: collection
20
21
  });
22
+ if (collection.versions) {
23
+ createTableName({
24
+ adapter: this,
25
+ config: collection,
26
+ versions: true,
27
+ versionsCustomName: true
28
+ });
29
+ }
30
+ });
31
+ this.payload.config.collections.forEach((collection)=>{
32
+ const tableName = this.tableNameMap.get(toSnakeCase(collection.slug));
21
33
  buildTable({
22
34
  adapter: this,
23
- buildNumbers: true,
24
- buildRelationships: true,
25
- buildTexts: true,
26
35
  disableNotNull: !!collection?.versions?.drafts,
27
36
  disableUnique: false,
28
37
  fields: collection.fields,
@@ -31,18 +40,10 @@ export const init = function init() {
31
40
  versions: false
32
41
  });
33
42
  if (collection.versions) {
34
- const versionsTableName = createTableName({
35
- adapter: this,
36
- config: collection,
37
- versions: true,
38
- versionsCustomName: true
39
- });
43
+ const versionsTableName = this.tableNameMap.get(`_${toSnakeCase(collection.slug)}${this.versionsSuffix}`);
40
44
  const versionFields = buildVersionCollectionFields(collection);
41
45
  buildTable({
42
46
  adapter: this,
43
- buildNumbers: true,
44
- buildRelationships: true,
45
- buildTexts: true,
46
47
  disableNotNull: !!collection.versions?.drafts,
47
48
  disableUnique: true,
48
49
  fields: versionFields,
@@ -59,9 +60,6 @@ export const init = function init() {
59
60
  });
60
61
  buildTable({
61
62
  adapter: this,
62
- buildNumbers: true,
63
- buildRelationships: true,
64
- buildTexts: true,
65
63
  disableNotNull: !!global?.versions?.drafts,
66
64
  disableUnique: false,
67
65
  fields: global.fields,
@@ -79,9 +77,6 @@ export const init = function init() {
79
77
  const versionFields = buildVersionGlobalFields(global);
80
78
  buildTable({
81
79
  adapter: this,
82
- buildNumbers: true,
83
- buildRelationships: true,
84
- buildTexts: true,
85
80
  disableNotNull: !!global.versions?.drafts,
86
81
  disableUnique: true,
87
82
  fields: versionFields,
package/dist/init.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/init.ts"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport type { Init } from 'payload/database'\nimport type { SanitizedCollectionConfig } from 'payload/types'\n\nimport { pgEnum, pgSchema, pgTable } from 'drizzle-orm/pg-core'\nimport { buildVersionCollectionFields, buildVersionGlobalFields } from 'payload/versions'\n\nimport type { PostgresAdapter } from './types.js'\n\nimport { buildTable } from './schema/build.js'\nimport { createTableName } from './schema/createTableName.js'\n\nexport const init: Init = function init(this: PostgresAdapter) {\n if (this.schemaName) {\n this.pgSchema = pgSchema(this.schemaName)\n } else {\n this.pgSchema = { table: pgTable }\n }\n\n if (this.payload.config.localization) {\n this.enums.enum__locales = pgEnum(\n '_locales',\n this.payload.config.localization.locales.map(({ code }) => code) as [string, ...string[]],\n )\n }\n\n this.payload.config.collections.forEach((collection: SanitizedCollectionConfig) => {\n const tableName = createTableName({\n adapter: this,\n config: collection,\n })\n\n buildTable({\n adapter: this,\n buildNumbers: true,\n buildRelationships: true,\n buildTexts: true,\n disableNotNull: !!collection?.versions?.drafts,\n disableUnique: false,\n fields: collection.fields,\n tableName,\n timestamps: collection.timestamps,\n versions: false,\n })\n\n if (collection.versions) {\n const versionsTableName = createTableName({\n adapter: this,\n config: collection,\n versions: true,\n versionsCustomName: true,\n })\n const versionFields = buildVersionCollectionFields(collection)\n\n buildTable({\n adapter: this,\n buildNumbers: true,\n buildRelationships: true,\n buildTexts: true,\n disableNotNull: !!collection.versions?.drafts,\n disableUnique: true,\n fields: versionFields,\n tableName: versionsTableName,\n timestamps: true,\n versions: true,\n })\n }\n })\n\n this.payload.config.globals.forEach((global) => {\n const tableName = createTableName({ adapter: this, config: global })\n\n buildTable({\n adapter: this,\n buildNumbers: true,\n buildRelationships: true,\n buildTexts: true,\n disableNotNull: !!global?.versions?.drafts,\n disableUnique: false,\n fields: global.fields,\n tableName,\n timestamps: false,\n versions: false,\n })\n\n if (global.versions) {\n const versionsTableName = createTableName({\n adapter: this,\n config: global,\n versions: true,\n versionsCustomName: true,\n })\n const versionFields = buildVersionGlobalFields(global)\n\n buildTable({\n adapter: this,\n buildNumbers: true,\n buildRelationships: true,\n buildTexts: true,\n disableNotNull: !!global.versions?.drafts,\n disableUnique: true,\n fields: versionFields,\n tableName: versionsTableName,\n timestamps: true,\n versions: true,\n })\n }\n })\n}\n"],"names":["pgEnum","pgSchema","pgTable","buildVersionCollectionFields","buildVersionGlobalFields","buildTable","createTableName","init","schemaName","table","payload","config","localization","enums","enum__locales","locales","map","code","collections","forEach","collection","tableName","adapter","buildNumbers","buildRelationships","buildTexts","disableNotNull","versions","drafts","disableUnique","fields","timestamps","versionsTableName","versionsCustomName","versionFields","globals","global"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,oCAAoC,GAIpC,SAASA,MAAM,EAAEC,QAAQ,EAAEC,OAAO,QAAQ,sBAAqB;AAC/D,SAASC,4BAA4B,EAAEC,wBAAwB,QAAQ,mBAAkB;AAIzF,SAASC,UAAU,QAAQ,oBAAmB;AAC9C,SAASC,eAAe,QAAQ,8BAA6B;AAE7D,OAAO,MAAMC,OAAa,SAASA;IACjC,IAAI,IAAI,CAACC,UAAU,EAAE;QACnB,IAAI,CAACP,QAAQ,GAAGA,SAAS,IAAI,CAACO,UAAU;IAC1C,OAAO;QACL,IAAI,CAACP,QAAQ,GAAG;YAAEQ,OAAOP;QAAQ;IACnC;IAEA,IAAI,IAAI,CAACQ,OAAO,CAACC,MAAM,CAACC,YAAY,EAAE;QACpC,IAAI,CAACC,KAAK,CAACC,aAAa,GAAGd,OACzB,YACA,IAAI,CAACU,OAAO,CAACC,MAAM,CAACC,YAAY,CAACG,OAAO,CAACC,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA;IAE/D;IAEA,IAAI,CAACP,OAAO,CAACC,MAAM,CAACO,WAAW,CAACC,OAAO,CAAC,CAACC;QACvC,MAAMC,YAAYf,gBAAgB;YAChCgB,SAAS,IAAI;YACbX,QAAQS;QACV;QAEAf,WAAW;YACTiB,SAAS,IAAI;YACbC,cAAc;YACdC,oBAAoB;YACpBC,YAAY;YACZC,gBAAgB,CAAC,CAACN,YAAYO,UAAUC;YACxCC,eAAe;YACfC,QAAQV,WAAWU,MAAM;YACzBT;YACAU,YAAYX,WAAWW,UAAU;YACjCJ,UAAU;QACZ;QAEA,IAAIP,WAAWO,QAAQ,EAAE;YACvB,MAAMK,oBAAoB1B,gBAAgB;gBACxCgB,SAAS,IAAI;gBACbX,QAAQS;gBACRO,UAAU;gBACVM,oBAAoB;YACtB;YACA,MAAMC,gBAAgB/B,6BAA6BiB;YAEnDf,WAAW;gBACTiB,SAAS,IAAI;gBACbC,cAAc;gBACdC,oBAAoB;gBACpBC,YAAY;gBACZC,gBAAgB,CAAC,CAACN,WAAWO,QAAQ,EAAEC;gBACvCC,eAAe;gBACfC,QAAQI;gBACRb,WAAWW;gBACXD,YAAY;gBACZJ,UAAU;YACZ;QACF;IACF;IAEA,IAAI,CAACjB,OAAO,CAACC,MAAM,CAACwB,OAAO,CAAChB,OAAO,CAAC,CAACiB;QACnC,MAAMf,YAAYf,gBAAgB;YAAEgB,SAAS,IAAI;YAAEX,QAAQyB;QAAO;QAElE/B,WAAW;YACTiB,SAAS,IAAI;YACbC,cAAc;YACdC,oBAAoB;YACpBC,YAAY;YACZC,gBAAgB,CAAC,CAACU,QAAQT,UAAUC;YACpCC,eAAe;YACfC,QAAQM,OAAON,MAAM;YACrBT;YACAU,YAAY;YACZJ,UAAU;QACZ;QAEA,IAAIS,OAAOT,QAAQ,EAAE;YACnB,MAAMK,oBAAoB1B,gBAAgB;gBACxCgB,SAAS,IAAI;gBACbX,QAAQyB;gBACRT,UAAU;gBACVM,oBAAoB;YACtB;YACA,MAAMC,gBAAgB9B,yBAAyBgC;YAE/C/B,WAAW;gBACTiB,SAAS,IAAI;gBACbC,cAAc;gBACdC,oBAAoB;gBACpBC,YAAY;gBACZC,gBAAgB,CAAC,CAACU,OAAOT,QAAQ,EAAEC;gBACnCC,eAAe;gBACfC,QAAQI;gBACRb,WAAWW;gBACXD,YAAY;gBACZJ,UAAU;YACZ;QACF;IACF;AACF,EAAC"}
1
+ {"version":3,"sources":["../src/init.ts"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport type { Init } from 'payload/database'\nimport type { SanitizedCollectionConfig } from 'payload/types'\n\nimport { pgEnum, pgSchema, pgTable } from 'drizzle-orm/pg-core'\nimport { buildVersionCollectionFields, buildVersionGlobalFields } from 'payload/versions'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { PostgresAdapter } from './types.js'\n\nimport { buildTable } from './schema/build.js'\nimport { createTableName } from './schema/createTableName.js'\n\nexport const init: Init = function init(this: PostgresAdapter) {\n if (this.schemaName) {\n this.pgSchema = pgSchema(this.schemaName)\n } else {\n this.pgSchema = { table: pgTable }\n }\n\n if (this.payload.config.localization) {\n this.enums.enum__locales = pgEnum(\n '_locales',\n this.payload.config.localization.locales.map(({ code }) => code) as [string, ...string[]],\n )\n }\n\n this.payload.config.collections.forEach((collection: SanitizedCollectionConfig) => {\n createTableName({\n adapter: this,\n config: collection,\n })\n\n if (collection.versions) {\n createTableName({\n adapter: this,\n config: collection,\n versions: true,\n versionsCustomName: true,\n })\n }\n })\n this.payload.config.collections.forEach((collection: SanitizedCollectionConfig) => {\n const tableName = this.tableNameMap.get(toSnakeCase(collection.slug))\n\n buildTable({\n adapter: this,\n disableNotNull: !!collection?.versions?.drafts,\n disableUnique: false,\n fields: collection.fields,\n tableName,\n timestamps: collection.timestamps,\n versions: false,\n })\n\n if (collection.versions) {\n const versionsTableName = this.tableNameMap.get(\n `_${toSnakeCase(collection.slug)}${this.versionsSuffix}`,\n )\n const versionFields = buildVersionCollectionFields(collection)\n\n buildTable({\n adapter: this,\n disableNotNull: !!collection.versions?.drafts,\n disableUnique: true,\n fields: versionFields,\n tableName: versionsTableName,\n timestamps: true,\n versions: true,\n })\n }\n })\n\n this.payload.config.globals.forEach((global) => {\n const tableName = createTableName({ adapter: this, config: global })\n\n buildTable({\n adapter: this,\n disableNotNull: !!global?.versions?.drafts,\n disableUnique: false,\n fields: global.fields,\n tableName,\n timestamps: false,\n versions: false,\n })\n\n if (global.versions) {\n const versionsTableName = createTableName({\n adapter: this,\n config: global,\n versions: true,\n versionsCustomName: true,\n })\n const versionFields = buildVersionGlobalFields(global)\n\n buildTable({\n adapter: this,\n disableNotNull: !!global.versions?.drafts,\n disableUnique: true,\n fields: versionFields,\n tableName: versionsTableName,\n timestamps: true,\n versions: true,\n })\n }\n })\n}\n"],"names":["pgEnum","pgSchema","pgTable","buildVersionCollectionFields","buildVersionGlobalFields","toSnakeCase","buildTable","createTableName","init","schemaName","table","payload","config","localization","enums","enum__locales","locales","map","code","collections","forEach","collection","adapter","versions","versionsCustomName","tableName","tableNameMap","get","slug","disableNotNull","drafts","disableUnique","fields","timestamps","versionsTableName","versionsSuffix","versionFields","globals","global"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,oCAAoC,GAIpC,SAASA,MAAM,EAAEC,QAAQ,EAAEC,OAAO,QAAQ,sBAAqB;AAC/D,SAASC,4BAA4B,EAAEC,wBAAwB,QAAQ,mBAAkB;AACzF,OAAOC,iBAAiB,gBAAe;AAIvC,SAASC,UAAU,QAAQ,oBAAmB;AAC9C,SAASC,eAAe,QAAQ,8BAA6B;AAE7D,OAAO,MAAMC,OAAa,SAASA;IACjC,IAAI,IAAI,CAACC,UAAU,EAAE;QACnB,IAAI,CAACR,QAAQ,GAAGA,SAAS,IAAI,CAACQ,UAAU;IAC1C,OAAO;QACL,IAAI,CAACR,QAAQ,GAAG;YAAES,OAAOR;QAAQ;IACnC;IAEA,IAAI,IAAI,CAACS,OAAO,CAACC,MAAM,CAACC,YAAY,EAAE;QACpC,IAAI,CAACC,KAAK,CAACC,aAAa,GAAGf,OACzB,YACA,IAAI,CAACW,OAAO,CAACC,MAAM,CAACC,YAAY,CAACG,OAAO,CAACC,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA;IAE/D;IAEA,IAAI,CAACP,OAAO,CAACC,MAAM,CAACO,WAAW,CAACC,OAAO,CAAC,CAACC;QACvCd,gBAAgB;YACde,SAAS,IAAI;YACbV,QAAQS;QACV;QAEA,IAAIA,WAAWE,QAAQ,EAAE;YACvBhB,gBAAgB;gBACde,SAAS,IAAI;gBACbV,QAAQS;gBACRE,UAAU;gBACVC,oBAAoB;YACtB;QACF;IACF;IACA,IAAI,CAACb,OAAO,CAACC,MAAM,CAACO,WAAW,CAACC,OAAO,CAAC,CAACC;QACvC,MAAMI,YAAY,IAAI,CAACC,YAAY,CAACC,GAAG,CAACtB,YAAYgB,WAAWO,IAAI;QAEnEtB,WAAW;YACTgB,SAAS,IAAI;YACbO,gBAAgB,CAAC,CAACR,YAAYE,UAAUO;YACxCC,eAAe;YACfC,QAAQX,WAAWW,MAAM;YACzBP;YACAQ,YAAYZ,WAAWY,UAAU;YACjCV,UAAU;QACZ;QAEA,IAAIF,WAAWE,QAAQ,EAAE;YACvB,MAAMW,oBAAoB,IAAI,CAACR,YAAY,CAACC,GAAG,CAC7C,CAAC,CAAC,EAAEtB,YAAYgB,WAAWO,IAAI,EAAE,EAAE,IAAI,CAACO,cAAc,CAAC,CAAC;YAE1D,MAAMC,gBAAgBjC,6BAA6BkB;YAEnDf,WAAW;gBACTgB,SAAS,IAAI;gBACbO,gBAAgB,CAAC,CAACR,WAAWE,QAAQ,EAAEO;gBACvCC,eAAe;gBACfC,QAAQI;gBACRX,WAAWS;gBACXD,YAAY;gBACZV,UAAU;YACZ;QACF;IACF;IAEA,IAAI,CAACZ,OAAO,CAACC,MAAM,CAACyB,OAAO,CAACjB,OAAO,CAAC,CAACkB;QACnC,MAAMb,YAAYlB,gBAAgB;YAAEe,SAAS,IAAI;YAAEV,QAAQ0B;QAAO;QAElEhC,WAAW;YACTgB,SAAS,IAAI;YACbO,gBAAgB,CAAC,CAACS,QAAQf,UAAUO;YACpCC,eAAe;YACfC,QAAQM,OAAON,MAAM;YACrBP;YACAQ,YAAY;YACZV,UAAU;QACZ;QAEA,IAAIe,OAAOf,QAAQ,EAAE;YACnB,MAAMW,oBAAoB3B,gBAAgB;gBACxCe,SAAS,IAAI;gBACbV,QAAQ0B;gBACRf,UAAU;gBACVC,oBAAoB;YACtB;YACA,MAAMY,gBAAgBhC,yBAAyBkC;YAE/ChC,WAAW;gBACTgB,SAAS,IAAI;gBACbO,gBAAgB,CAAC,CAACS,OAAOf,QAAQ,EAAEO;gBACnCC,eAAe;gBACfC,QAAQI;gBACRX,WAAWS;gBACXD,YAAY;gBACZV,UAAU;YACZ;QACF;IACF;AACF,EAAC"}
@@ -0,0 +1,4 @@
1
+ declare const imports = "import { migratePostgresV2toV3 } from '@payloadcms/db-postgres/migration-utils'";
2
+ declare const upSQL = " await migratePostgresV2toV3({\n // enables logging of changes that will be made to the database\n debug: false,\n payload,\n req,\n })\n";
3
+ export { imports, upSQL };
4
+ //# sourceMappingURL=relationships-v2-v3.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relationships-v2-v3.d.ts","sourceRoot":"","sources":["../../src/predefinedMigrations/relationships-v2-v3.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,OAAO,oFAAoF,CAAA;AACjG,QAAA,MAAM,KAAK,mLAMV,CAAA;AAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/predefinedMigrations/relationships-v2-v3.ts"],"sourcesContent":["const imports = `import { migratePostgresV2toV3 } from '@payloadcms/db-postgres/migration-utils'`\nconst upSQL = ` await migratePostgresV2toV3({\n // enables logging of changes that will be made to the database\n debug: false,\n payload,\n req,\n })\n`\n\nexport { imports, upSQL }\n"],"names":["imports","upSQL"],"rangeMappings":";;;;;;;;","mappings":"AAAA,MAAMA,UAAU,CAAC,+EAA+E,CAAC;AACjG,MAAMC,QAAQ,CAAC;;;;;;AAMf,CAAC;AAED,SAASD,OAAO,EAAEC,KAAK,GAAE"}
@@ -0,0 +1,11 @@
1
+ const imports = `import { migratePostgresV2toV3 } from '@payloadcms/db-postgres/migration-utils'`;
2
+ const upSQL = ` await migratePostgresV2toV3({
3
+ // enables logging of changes that will be made to the database
4
+ debug: false,
5
+ payload,
6
+ req,
7
+ })
8
+ `;
9
+ export { imports, upSQL };
10
+
11
+ //# sourceMappingURL=relationships-v2-v3.js.map
@@ -0,0 +1,20 @@
1
+ import type { Payload } from 'payload';
2
+ import type { Field, PayloadRequestWithData } from 'payload/types';
3
+ import type { DrizzleTransaction, PostgresAdapter } from '../../../types.js';
4
+ import type { DocsToResave } from '../types.js';
5
+ type Args = {
6
+ adapter: PostgresAdapter;
7
+ collectionSlug?: string;
8
+ db: DrizzleTransaction;
9
+ debug: boolean;
10
+ docsToResave: DocsToResave;
11
+ fields: Field[];
12
+ globalSlug?: string;
13
+ isVersions: boolean;
14
+ payload: Payload;
15
+ req: PayloadRequestWithData;
16
+ tableName: string;
17
+ };
18
+ export declare const fetchAndResave: ({ adapter, collectionSlug, db, debug, docsToResave, fields, globalSlug, isVersions, payload, req, tableName, }: Args) => Promise<void>;
19
+ export {};
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/predefinedMigrations/v2-v3/fetchAndResave/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,KAAK,EAAE,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAElE,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAK/C,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,EAAE,EAAE,kBAAkB,CAAA;IACtB,KAAK,EAAE,OAAO,CAAA;IACd,YAAY,EAAE,YAAY,CAAA;IAC1B,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,OAAO,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,sBAAsB,CAAA;IAC3B,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,cAAc,mHAYxB,IAAI,kBAyMN,CAAA"}
@@ -0,0 +1,170 @@
1
+ import { upsertRow } from '../../../upsertRow/index.js';
2
+ import { traverseFields } from './traverseFields.js';
3
+ export const fetchAndResave = async ({ adapter, collectionSlug, db, debug, docsToResave, fields, globalSlug, isVersions, payload, req, tableName })=>{
4
+ for (const [id, rows] of Object.entries(docsToResave)){
5
+ if (collectionSlug) {
6
+ const collectionConfig = payload.collections[collectionSlug].config;
7
+ if (collectionConfig) {
8
+ if (isVersions) {
9
+ const doc = await payload.findVersionByID({
10
+ id,
11
+ collection: collectionSlug,
12
+ depth: 0,
13
+ fallbackLocale: null,
14
+ locale: 'all',
15
+ req,
16
+ showHiddenFields: true
17
+ });
18
+ if (debug) {
19
+ payload.logger.info(`The collection "${collectionConfig.slug}" version with ID ${id} will be migrated`);
20
+ }
21
+ traverseFields({
22
+ doc,
23
+ fields,
24
+ path: '',
25
+ rows
26
+ });
27
+ try {
28
+ await upsertRow({
29
+ id: doc.id,
30
+ adapter,
31
+ data: doc,
32
+ db,
33
+ fields,
34
+ ignoreResult: true,
35
+ operation: 'update',
36
+ req,
37
+ tableName
38
+ });
39
+ } catch (err) {
40
+ payload.logger.error(`"${collectionConfig.slug}" version with ID ${doc.id} FAILED TO MIGRATE`);
41
+ throw err;
42
+ }
43
+ if (debug) {
44
+ payload.logger.info(`"${collectionConfig.slug}" version with ID ${doc.id} migrated successfully!`);
45
+ }
46
+ } else {
47
+ const doc = await payload.findByID({
48
+ id,
49
+ collection: collectionSlug,
50
+ depth: 0,
51
+ fallbackLocale: null,
52
+ locale: 'all',
53
+ req,
54
+ showHiddenFields: true
55
+ });
56
+ if (debug) {
57
+ payload.logger.info(`The collection "${collectionConfig.slug}" with ID ${doc.id} will be migrated`);
58
+ }
59
+ traverseFields({
60
+ doc,
61
+ fields,
62
+ path: '',
63
+ rows
64
+ });
65
+ try {
66
+ await upsertRow({
67
+ id: doc.id,
68
+ adapter,
69
+ data: doc,
70
+ db,
71
+ fields,
72
+ ignoreResult: true,
73
+ operation: 'update',
74
+ req,
75
+ tableName
76
+ });
77
+ } catch (err) {
78
+ payload.logger.error(`The collection "${collectionConfig.slug}" with ID ${doc.id} has FAILED TO MIGRATE`);
79
+ throw err;
80
+ }
81
+ if (debug) {
82
+ payload.logger.info(`The collection "${collectionConfig.slug}" with ID ${doc.id} has migrated successfully!`);
83
+ }
84
+ }
85
+ }
86
+ }
87
+ if (globalSlug) {
88
+ const globalConfig = payload.config.globals?.find((global)=>global.slug === globalSlug);
89
+ if (globalConfig) {
90
+ if (isVersions) {
91
+ const { docs } = await payload.findGlobalVersions({
92
+ slug: globalSlug,
93
+ depth: 0,
94
+ fallbackLocale: null,
95
+ limit: 0,
96
+ locale: 'all',
97
+ req,
98
+ showHiddenFields: true
99
+ });
100
+ if (debug) {
101
+ payload.logger.info(`${docs.length} global "${globalSlug}" versions will be migrated`);
102
+ }
103
+ for (const doc of docs){
104
+ traverseFields({
105
+ doc,
106
+ fields,
107
+ path: '',
108
+ rows
109
+ });
110
+ try {
111
+ await upsertRow({
112
+ id: doc.id,
113
+ adapter,
114
+ data: doc,
115
+ db,
116
+ fields,
117
+ ignoreResult: true,
118
+ operation: 'update',
119
+ req,
120
+ tableName
121
+ });
122
+ } catch (err) {
123
+ payload.logger.error(`"${globalSlug}" version with ID ${doc.id} FAILED TO MIGRATE`);
124
+ throw err;
125
+ }
126
+ if (debug) {
127
+ payload.logger.info(`"${globalSlug}" version with ID ${doc.id} migrated successfully!`);
128
+ }
129
+ }
130
+ } else {
131
+ const doc = await payload.findGlobal({
132
+ slug: globalSlug,
133
+ depth: 0,
134
+ fallbackLocale: null,
135
+ locale: 'all',
136
+ req,
137
+ showHiddenFields: true
138
+ });
139
+ traverseFields({
140
+ doc,
141
+ fields,
142
+ path: '',
143
+ rows
144
+ });
145
+ try {
146
+ await upsertRow({
147
+ id: doc.id,
148
+ adapter,
149
+ data: doc,
150
+ db,
151
+ fields,
152
+ ignoreResult: true,
153
+ operation: 'update',
154
+ req,
155
+ tableName
156
+ });
157
+ } catch (err) {
158
+ payload.logger.error(`The global "${globalSlug}" has FAILED TO MIGRATE`);
159
+ throw err;
160
+ }
161
+ if (debug) {
162
+ payload.logger.info(`The global "${globalSlug}" has migrated successfully!`);
163
+ }
164
+ }
165
+ }
166
+ }
167
+ }
168
+ };
169
+
170
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/predefinedMigrations/v2-v3/fetchAndResave/index.ts"],"sourcesContent":["import type { Payload } from 'payload'\nimport type { Field, PayloadRequestWithData } from 'payload/types'\n\nimport type { DrizzleTransaction, PostgresAdapter } from '../../../types.js'\nimport type { DocsToResave } from '../types.js'\n\nimport { upsertRow } from '../../../upsertRow/index.js'\nimport { traverseFields } from './traverseFields.js'\n\ntype Args = {\n adapter: PostgresAdapter\n collectionSlug?: string\n db: DrizzleTransaction\n debug: boolean\n docsToResave: DocsToResave\n fields: Field[]\n globalSlug?: string\n isVersions: boolean\n payload: Payload\n req: PayloadRequestWithData\n tableName: string\n}\n\nexport const fetchAndResave = async ({\n adapter,\n collectionSlug,\n db,\n debug,\n docsToResave,\n fields,\n globalSlug,\n isVersions,\n payload,\n req,\n tableName,\n}: Args) => {\n for (const [id, rows] of Object.entries(docsToResave)) {\n if (collectionSlug) {\n const collectionConfig = payload.collections[collectionSlug].config\n\n if (collectionConfig) {\n if (isVersions) {\n const doc = await payload.findVersionByID({\n id,\n collection: collectionSlug,\n depth: 0,\n fallbackLocale: null,\n locale: 'all',\n req,\n showHiddenFields: true,\n })\n\n if (debug) {\n payload.logger.info(\n `The collection \"${collectionConfig.slug}\" version with ID ${id} will be migrated`,\n )\n }\n\n traverseFields({\n doc,\n fields,\n path: '',\n rows,\n })\n\n try {\n await upsertRow({\n id: doc.id,\n adapter,\n data: doc,\n db,\n fields,\n ignoreResult: true,\n operation: 'update',\n req,\n tableName,\n })\n } catch (err) {\n payload.logger.error(\n `\"${collectionConfig.slug}\" version with ID ${doc.id} FAILED TO MIGRATE`,\n )\n\n throw err\n }\n\n if (debug) {\n payload.logger.info(\n `\"${collectionConfig.slug}\" version with ID ${doc.id} migrated successfully!`,\n )\n }\n } else {\n const doc = await payload.findByID({\n id,\n collection: collectionSlug,\n depth: 0,\n fallbackLocale: null,\n locale: 'all',\n req,\n showHiddenFields: true,\n })\n\n if (debug) {\n payload.logger.info(\n `The collection \"${collectionConfig.slug}\" with ID ${doc.id} will be migrated`,\n )\n }\n\n traverseFields({\n doc,\n fields,\n path: '',\n rows,\n })\n\n try {\n await upsertRow({\n id: doc.id,\n adapter,\n data: doc,\n db,\n fields,\n ignoreResult: true,\n operation: 'update',\n req,\n tableName,\n })\n } catch (err) {\n payload.logger.error(\n `The collection \"${collectionConfig.slug}\" with ID ${doc.id} has FAILED TO MIGRATE`,\n )\n\n throw err\n }\n\n if (debug) {\n payload.logger.info(\n `The collection \"${collectionConfig.slug}\" with ID ${doc.id} has migrated successfully!`,\n )\n }\n }\n }\n }\n\n if (globalSlug) {\n const globalConfig = payload.config.globals?.find((global) => global.slug === globalSlug)\n\n if (globalConfig) {\n if (isVersions) {\n const { docs } = await payload.findGlobalVersions({\n slug: globalSlug,\n depth: 0,\n fallbackLocale: null,\n limit: 0,\n locale: 'all',\n req,\n showHiddenFields: true,\n })\n\n if (debug) {\n payload.logger.info(`${docs.length} global \"${globalSlug}\" versions will be migrated`)\n }\n\n for (const doc of docs) {\n traverseFields({\n doc,\n fields,\n path: '',\n rows,\n })\n\n try {\n await upsertRow({\n id: doc.id,\n adapter,\n data: doc,\n db,\n fields,\n ignoreResult: true,\n operation: 'update',\n req,\n tableName,\n })\n } catch (err) {\n payload.logger.error(`\"${globalSlug}\" version with ID ${doc.id} FAILED TO MIGRATE`)\n\n throw err\n }\n\n if (debug) {\n payload.logger.info(\n `\"${globalSlug}\" version with ID ${doc.id} migrated successfully!`,\n )\n }\n }\n } else {\n const doc = await payload.findGlobal({\n slug: globalSlug,\n depth: 0,\n fallbackLocale: null,\n locale: 'all',\n req,\n showHiddenFields: true,\n })\n\n traverseFields({\n doc,\n fields,\n path: '',\n rows,\n })\n\n try {\n await upsertRow({\n id: doc.id,\n adapter,\n data: doc,\n db,\n fields,\n ignoreResult: true,\n operation: 'update',\n req,\n tableName,\n })\n } catch (err) {\n payload.logger.error(`The global \"${globalSlug}\" has FAILED TO MIGRATE`)\n\n throw err\n }\n\n if (debug) {\n payload.logger.info(`The global \"${globalSlug}\" has migrated successfully!`)\n }\n }\n }\n }\n }\n}\n"],"names":["upsertRow","traverseFields","fetchAndResave","adapter","collectionSlug","db","debug","docsToResave","fields","globalSlug","isVersions","payload","req","tableName","id","rows","Object","entries","collectionConfig","collections","config","doc","findVersionByID","collection","depth","fallbackLocale","locale","showHiddenFields","logger","info","slug","path","data","ignoreResult","operation","err","error","findByID","globalConfig","globals","find","global","docs","findGlobalVersions","limit","length","findGlobal"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { Field } from 'payload/types';
2
+ type Args = {
3
+ doc: Record<string, unknown>;
4
+ fields: Field[];
5
+ locale?: string;
6
+ path: string;
7
+ rows: Record<string, unknown>[];
8
+ };
9
+ export declare const traverseFields: ({ doc, fields, locale, path, rows }: Args) => void;
10
+ export {};
11
+ //# sourceMappingURL=traverseFields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../../../src/predefinedMigrations/v2-v3/fetchAndResave/traverseFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAI1C,KAAK,IAAI,GAAG;IACV,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC5B,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;CAChC,CAAA;AAED,eAAO,MAAM,cAAc,wCAAyC,IAAI,SA0MvE,CAAA"}
@@ -0,0 +1,191 @@
1
+ import { tabHasName } from 'payload/types';
2
+ export const traverseFields = ({ doc, fields, locale, path, rows })=>{
3
+ fields.forEach((field)=>{
4
+ switch(field.type){
5
+ case 'group':
6
+ {
7
+ const newPath = `${path ? `${path}.` : ''}${field.name}`;
8
+ const newDoc = doc?.[field.name];
9
+ if (typeof newDoc === 'object' && newDoc !== null) {
10
+ if (field.localized) {
11
+ Object.entries(newDoc).forEach(([locale, localeDoc])=>{
12
+ return traverseFields({
13
+ doc: localeDoc,
14
+ fields: field.fields,
15
+ locale,
16
+ path: newPath,
17
+ rows
18
+ });
19
+ });
20
+ } else {
21
+ return traverseFields({
22
+ doc: newDoc,
23
+ fields: field.fields,
24
+ path: newPath,
25
+ rows
26
+ });
27
+ }
28
+ }
29
+ break;
30
+ }
31
+ case 'row':
32
+ case 'collapsible':
33
+ {
34
+ return traverseFields({
35
+ doc,
36
+ fields: field.fields,
37
+ path,
38
+ rows
39
+ });
40
+ }
41
+ case 'array':
42
+ {
43
+ const rowData = doc?.[field.name];
44
+ if (field.localized && typeof rowData === 'object' && rowData !== null) {
45
+ Object.entries(rowData).forEach(([locale, localeRows])=>{
46
+ if (Array.isArray(localeRows)) {
47
+ localeRows.forEach((row, i)=>{
48
+ return traverseFields({
49
+ doc: row,
50
+ fields: field.fields,
51
+ locale,
52
+ path: `${path ? `${path}.` : ''}${field.name}.${i}`,
53
+ rows
54
+ });
55
+ });
56
+ }
57
+ });
58
+ }
59
+ if (Array.isArray(rowData)) {
60
+ rowData.forEach((row, i)=>{
61
+ return traverseFields({
62
+ doc: row,
63
+ fields: field.fields,
64
+ path: `${path ? `${path}.` : ''}${field.name}.${i}`,
65
+ rows
66
+ });
67
+ });
68
+ }
69
+ break;
70
+ }
71
+ case 'blocks':
72
+ {
73
+ const rowData = doc?.[field.name];
74
+ if (field.localized && typeof rowData === 'object' && rowData !== null) {
75
+ Object.entries(rowData).forEach(([locale, localeRows])=>{
76
+ if (Array.isArray(localeRows)) {
77
+ localeRows.forEach((row, i)=>{
78
+ const matchedBlock = field.blocks.find((block)=>block.slug === row.blockType);
79
+ if (matchedBlock) {
80
+ return traverseFields({
81
+ doc: row,
82
+ fields: matchedBlock.fields,
83
+ locale,
84
+ path: `${path ? `${path}.` : ''}${field.name}.${i}`,
85
+ rows
86
+ });
87
+ }
88
+ });
89
+ }
90
+ });
91
+ }
92
+ if (Array.isArray(rowData)) {
93
+ rowData.forEach((row, i)=>{
94
+ const matchedBlock = field.blocks.find((block)=>block.slug === row.blockType);
95
+ if (matchedBlock) {
96
+ return traverseFields({
97
+ doc: row,
98
+ fields: matchedBlock.fields,
99
+ path: `${path ? `${path}.` : ''}${field.name}.${i}`,
100
+ rows
101
+ });
102
+ }
103
+ });
104
+ }
105
+ break;
106
+ }
107
+ case 'tabs':
108
+ {
109
+ return field.tabs.forEach((tab)=>{
110
+ if (tabHasName(tab)) {
111
+ const newDoc = doc?.[tab.name];
112
+ const newPath = `${path ? `${path}.` : ''}${tab.name}`;
113
+ if (typeof newDoc === 'object' && newDoc !== null) {
114
+ if (tab.localized) {
115
+ Object.entries(newDoc).forEach(([locale, localeDoc])=>{
116
+ return traverseFields({
117
+ doc: localeDoc,
118
+ fields: tab.fields,
119
+ locale,
120
+ path: newPath,
121
+ rows
122
+ });
123
+ });
124
+ } else {
125
+ return traverseFields({
126
+ doc: newDoc,
127
+ fields: tab.fields,
128
+ path: newPath,
129
+ rows
130
+ });
131
+ }
132
+ }
133
+ } else {
134
+ traverseFields({
135
+ doc,
136
+ fields: tab.fields,
137
+ path,
138
+ rows
139
+ });
140
+ }
141
+ });
142
+ }
143
+ case 'relationship':
144
+ case 'upload':
145
+ {
146
+ if (typeof field.relationTo === 'string') {
147
+ if (field.type === 'upload' || !field.hasMany) {
148
+ const relationshipPath = `${path ? `${path}.` : ''}${field.name}`;
149
+ if (field.localized) {
150
+ const matchedRelationshipsWithLocales = rows.filter((row)=>row.path === relationshipPath);
151
+ if (matchedRelationshipsWithLocales.length && !doc[field.name]) {
152
+ doc[field.name] = {};
153
+ }
154
+ const newDoc = doc[field.name];
155
+ matchedRelationshipsWithLocales.forEach((localeRow)=>{
156
+ if (typeof localeRow.locale === 'string') {
157
+ const [, id] = Object.entries(localeRow).find(([key, val])=>val !== null && ![
158
+ 'id',
159
+ 'locale',
160
+ 'order',
161
+ 'parent_id',
162
+ 'path'
163
+ ].includes(key));
164
+ newDoc[localeRow.locale] = id;
165
+ }
166
+ });
167
+ } else {
168
+ const matchedRelationship = rows.find((row)=>{
169
+ const matchesPath = row.path === relationshipPath;
170
+ if (locale) return matchesPath && locale === row.locale;
171
+ return row.path === relationshipPath;
172
+ });
173
+ if (matchedRelationship) {
174
+ const [, id] = Object.entries(matchedRelationship).find(([key, val])=>val !== null && ![
175
+ 'id',
176
+ 'locale',
177
+ 'order',
178
+ 'parent_id',
179
+ 'path'
180
+ ].includes(key));
181
+ doc[field.name] = id;
182
+ }
183
+ }
184
+ }
185
+ }
186
+ }
187
+ }
188
+ });
189
+ };
190
+
191
+ //# sourceMappingURL=traverseFields.js.map