@payloadcms/drizzle 3.7.0 → 3.7.1-canary.2ce70a3

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 (90) hide show
  1. package/dist/exports/postgres.d.ts +2 -0
  2. package/dist/exports/postgres.d.ts.map +1 -1
  3. package/dist/exports/postgres.js +2 -0
  4. package/dist/exports/postgres.js.map +1 -1
  5. package/dist/index.d.ts +3 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +3 -0
  8. package/dist/index.js.map +1 -1
  9. package/dist/postgres/columnToCodeConverter.d.ts +3 -0
  10. package/dist/postgres/columnToCodeConverter.d.ts.map +1 -0
  11. package/dist/postgres/columnToCodeConverter.js +64 -0
  12. package/dist/postgres/columnToCodeConverter.js.map +1 -0
  13. package/dist/postgres/init.d.ts.map +1 -1
  14. package/dist/postgres/init.js +16 -85
  15. package/dist/postgres/init.js.map +1 -1
  16. package/dist/postgres/schema/buildDrizzleTable.d.ts +7 -0
  17. package/dist/postgres/schema/buildDrizzleTable.d.ts.map +1 -0
  18. package/dist/postgres/schema/buildDrizzleTable.js +114 -0
  19. package/dist/postgres/schema/buildDrizzleTable.js.map +1 -0
  20. package/dist/postgres/schema/setColumnID.d.ts +2 -10
  21. package/dist/postgres/schema/setColumnID.d.ts.map +1 -1
  22. package/dist/postgres/schema/setColumnID.js +21 -5
  23. package/dist/postgres/schema/setColumnID.js.map +1 -1
  24. package/dist/{postgres/schema → schema}/build.d.ts +12 -7
  25. package/dist/schema/build.d.ts.map +1 -0
  26. package/dist/schema/build.js +603 -0
  27. package/dist/schema/build.js.map +1 -0
  28. package/dist/schema/buildDrizzleRelations.d.ts +5 -0
  29. package/dist/schema/buildDrizzleRelations.d.ts.map +1 -0
  30. package/dist/schema/buildDrizzleRelations.js +26 -0
  31. package/dist/schema/buildDrizzleRelations.js.map +1 -0
  32. package/dist/schema/buildRawSchema.d.ts +9 -0
  33. package/dist/schema/buildRawSchema.d.ts.map +1 -0
  34. package/dist/schema/buildRawSchema.js +97 -0
  35. package/dist/schema/buildRawSchema.js.map +1 -0
  36. package/dist/schema/idToUUID.d.ts.map +1 -0
  37. package/dist/schema/idToUUID.js.map +1 -0
  38. package/dist/{postgres/schema → schema}/traverseFields.d.ts +9 -9
  39. package/dist/schema/traverseFields.d.ts.map +1 -0
  40. package/dist/{postgres/schema → schema}/traverseFields.js +343 -174
  41. package/dist/schema/traverseFields.js.map +1 -0
  42. package/dist/schema/withDefault.d.ts +4 -0
  43. package/dist/schema/withDefault.d.ts.map +1 -0
  44. package/dist/{postgres/schema → schema}/withDefault.js +8 -5
  45. package/dist/schema/withDefault.js.map +1 -0
  46. package/dist/transform/read/traverseFields.d.ts.map +1 -1
  47. package/dist/transform/read/traverseFields.js +7 -0
  48. package/dist/transform/read/traverseFields.js.map +1 -1
  49. package/dist/types.d.ts +124 -2
  50. package/dist/types.d.ts.map +1 -1
  51. package/dist/types.js.map +1 -1
  52. package/dist/utilities/createSchemaGenerator.d.ts +11 -0
  53. package/dist/utilities/createSchemaGenerator.d.ts.map +1 -0
  54. package/dist/utilities/createSchemaGenerator.js +216 -0
  55. package/dist/utilities/createSchemaGenerator.js.map +1 -0
  56. package/dist/utilities/executeSchemaHooks.js +1 -1
  57. package/dist/utilities/executeSchemaHooks.js.map +1 -1
  58. package/dist/utilities/validateExistingBlockIsIdentical.d.ts +3 -2
  59. package/dist/utilities/validateExistingBlockIsIdentical.d.ts.map +1 -1
  60. package/dist/utilities/validateExistingBlockIsIdentical.js +2 -2
  61. package/dist/utilities/validateExistingBlockIsIdentical.js.map +1 -1
  62. package/package.json +3 -3
  63. package/dist/postgres/createMigration.d.ts +0 -3
  64. package/dist/postgres/createMigration.d.ts.map +0 -1
  65. package/dist/postgres/createMigration.js +0 -91
  66. package/dist/postgres/createMigration.js.map +0 -1
  67. package/dist/postgres/getMigrationTemplate.d.ts +0 -4
  68. package/dist/postgres/getMigrationTemplate.d.ts.map +0 -1
  69. package/dist/postgres/getMigrationTemplate.js +0 -13
  70. package/dist/postgres/getMigrationTemplate.js.map +0 -1
  71. package/dist/postgres/schema/build.d.ts.map +0 -1
  72. package/dist/postgres/schema/build.js +0 -404
  73. package/dist/postgres/schema/build.js.map +0 -1
  74. package/dist/postgres/schema/createIndex.d.ts +0 -11
  75. package/dist/postgres/schema/createIndex.d.ts.map +0 -1
  76. package/dist/postgres/schema/createIndex.js +0 -20
  77. package/dist/postgres/schema/createIndex.js.map +0 -1
  78. package/dist/postgres/schema/idToUUID.d.ts.map +0 -1
  79. package/dist/postgres/schema/idToUUID.js.map +0 -1
  80. package/dist/postgres/schema/parentIDColumnMap.d.ts +0 -4
  81. package/dist/postgres/schema/parentIDColumnMap.d.ts.map +0 -1
  82. package/dist/postgres/schema/parentIDColumnMap.js +0 -9
  83. package/dist/postgres/schema/parentIDColumnMap.js.map +0 -1
  84. package/dist/postgres/schema/traverseFields.d.ts.map +0 -1
  85. package/dist/postgres/schema/traverseFields.js.map +0 -1
  86. package/dist/postgres/schema/withDefault.d.ts +0 -4
  87. package/dist/postgres/schema/withDefault.d.ts.map +0 -1
  88. package/dist/postgres/schema/withDefault.js.map +0 -1
  89. /package/dist/{postgres/schema → schema}/idToUUID.d.ts +0 -0
  90. /package/dist/{postgres/schema → schema}/idToUUID.js +0 -0
@@ -1,3 +1,4 @@
1
+ export { columnToCodeConverter } from '../postgres/columnToCodeConverter.js';
1
2
  export { countDistinct } from '../postgres/countDistinct.js';
2
3
  export { createDatabase } from '../postgres/createDatabase.js';
3
4
  export { createExtensions } from '../postgres/createExtensions.js';
@@ -10,5 +11,6 @@ export { init } from '../postgres/init.js';
10
11
  export { insert } from '../postgres/insert.js';
11
12
  export { migratePostgresV2toV3 } from '../postgres/predefinedMigrations/v2-v3/index.js';
12
13
  export { requireDrizzleKit } from '../postgres/requireDrizzleKit.js';
14
+ export { geometryColumn } from '../postgres/schema/geometryColumn.js';
13
15
  export * from '../postgres/types.js';
14
16
  //# sourceMappingURL=postgres.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../src/exports/postgres.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAA;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAA;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,cAAc,sBAAsB,CAAA"}
1
+ {"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../src/exports/postgres.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAA;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAA;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAA;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAA;AACrE,cAAc,sBAAsB,CAAA"}
@@ -1,3 +1,4 @@
1
+ export { columnToCodeConverter } from '../postgres/columnToCodeConverter.js';
1
2
  export { countDistinct } from '../postgres/countDistinct.js';
2
3
  export { createDatabase } from '../postgres/createDatabase.js';
3
4
  export { createExtensions } from '../postgres/createExtensions.js';
@@ -10,6 +11,7 @@ export { init } from '../postgres/init.js';
10
11
  export { insert } from '../postgres/insert.js';
11
12
  export { migratePostgresV2toV3 } from '../postgres/predefinedMigrations/v2-v3/index.js';
12
13
  export { requireDrizzleKit } from '../postgres/requireDrizzleKit.js';
14
+ export { geometryColumn } from '../postgres/schema/geometryColumn.js';
13
15
  export * from '../postgres/types.js';
14
16
 
15
17
  //# sourceMappingURL=postgres.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/exports/postgres.ts"],"sourcesContent":["export { countDistinct } from '../postgres/countDistinct.js'\nexport { createDatabase } from '../postgres/createDatabase.js'\nexport { createExtensions } from '../postgres/createExtensions.js'\nexport { createJSONQuery } from '../postgres/createJSONQuery/index.js'\nexport { defaultDrizzleSnapshot } from '../postgres/defaultSnapshot.js'\nexport { deleteWhere } from '../postgres/deleteWhere.js'\nexport { dropDatabase } from '../postgres/dropDatabase.js'\nexport { execute } from '../postgres/execute.js'\nexport { init } from '../postgres/init.js'\nexport { insert } from '../postgres/insert.js'\nexport { migratePostgresV2toV3 } from '../postgres/predefinedMigrations/v2-v3/index.js'\nexport { requireDrizzleKit } from '../postgres/requireDrizzleKit.js'\nexport * from '../postgres/types.js'\n"],"names":["countDistinct","createDatabase","createExtensions","createJSONQuery","defaultDrizzleSnapshot","deleteWhere","dropDatabase","execute","init","insert","migratePostgresV2toV3","requireDrizzleKit"],"mappings":"AAAA,SAASA,aAAa,QAAQ,+BAA8B;AAC5D,SAASC,cAAc,QAAQ,gCAA+B;AAC9D,SAASC,gBAAgB,QAAQ,kCAAiC;AAClE,SAASC,eAAe,QAAQ,uCAAsC;AACtE,SAASC,sBAAsB,QAAQ,iCAAgC;AACvE,SAASC,WAAW,QAAQ,6BAA4B;AACxD,SAASC,YAAY,QAAQ,8BAA6B;AAC1D,SAASC,OAAO,QAAQ,yBAAwB;AAChD,SAASC,IAAI,QAAQ,sBAAqB;AAC1C,SAASC,MAAM,QAAQ,wBAAuB;AAC9C,SAASC,qBAAqB,QAAQ,kDAAiD;AACvF,SAASC,iBAAiB,QAAQ,mCAAkC;AACpE,cAAc,uBAAsB"}
1
+ {"version":3,"sources":["../../src/exports/postgres.ts"],"sourcesContent":["export { columnToCodeConverter } from '../postgres/columnToCodeConverter.js'\nexport { countDistinct } from '../postgres/countDistinct.js'\nexport { createDatabase } from '../postgres/createDatabase.js'\nexport { createExtensions } from '../postgres/createExtensions.js'\nexport { createJSONQuery } from '../postgres/createJSONQuery/index.js'\nexport { defaultDrizzleSnapshot } from '../postgres/defaultSnapshot.js'\nexport { deleteWhere } from '../postgres/deleteWhere.js'\nexport { dropDatabase } from '../postgres/dropDatabase.js'\nexport { execute } from '../postgres/execute.js'\nexport { init } from '../postgres/init.js'\nexport { insert } from '../postgres/insert.js'\nexport { migratePostgresV2toV3 } from '../postgres/predefinedMigrations/v2-v3/index.js'\nexport { requireDrizzleKit } from '../postgres/requireDrizzleKit.js'\nexport { geometryColumn } from '../postgres/schema/geometryColumn.js'\nexport * from '../postgres/types.js'\n"],"names":["columnToCodeConverter","countDistinct","createDatabase","createExtensions","createJSONQuery","defaultDrizzleSnapshot","deleteWhere","dropDatabase","execute","init","insert","migratePostgresV2toV3","requireDrizzleKit","geometryColumn"],"mappings":"AAAA,SAASA,qBAAqB,QAAQ,uCAAsC;AAC5E,SAASC,aAAa,QAAQ,+BAA8B;AAC5D,SAASC,cAAc,QAAQ,gCAA+B;AAC9D,SAASC,gBAAgB,QAAQ,kCAAiC;AAClE,SAASC,eAAe,QAAQ,uCAAsC;AACtE,SAASC,sBAAsB,QAAQ,iCAAgC;AACvE,SAASC,WAAW,QAAQ,6BAA4B;AACxD,SAASC,YAAY,QAAQ,8BAA6B;AAC1D,SAASC,OAAO,QAAQ,yBAAwB;AAChD,SAASC,IAAI,QAAQ,sBAAqB;AAC1C,SAASC,MAAM,QAAQ,wBAAuB;AAC9C,SAASC,qBAAqB,QAAQ,kDAAiD;AACvF,SAASC,iBAAiB,QAAQ,mCAAkC;AACpE,SAASC,cAAc,QAAQ,uCAAsC;AACrE,cAAc,uBAAsB"}
package/dist/index.d.ts CHANGED
@@ -26,6 +26,8 @@ export { migrateStatus } from './migrateStatus.js';
26
26
  export { operatorMap } from './queries/operatorMap.js';
27
27
  export type { Operators } from './queries/operatorMap.js';
28
28
  export { queryDrafts } from './queryDrafts.js';
29
+ export { buildDrizzleRelations } from './schema/buildDrizzleRelations.js';
30
+ export { buildRawSchema } from './schema/buildRawSchema.js';
29
31
  export { beginTransaction } from './transactions/beginTransaction.js';
30
32
  export { commitTransaction } from './transactions/commitTransaction.js';
31
33
  export { rollbackTransaction } from './transactions/rollbackTransaction.js';
@@ -36,6 +38,7 @@ export { updateVersion } from './updateVersion.js';
36
38
  export { upsertRow } from './upsertRow/index.js';
37
39
  export { buildCreateMigration } from './utilities/buildCreateMigration.js';
38
40
  export { buildIndexName } from './utilities/buildIndexName.js';
41
+ export { createSchemaGenerator } from './utilities/createSchemaGenerator.js';
39
42
  export { executeSchemaHooks } from './utilities/executeSchemaHooks.js';
40
43
  export { extendDrizzleTable } from './utilities/extendDrizzleTable.js';
41
44
  export { hasLocalesTable } from './utilities/hasLocalesTable.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,YAAY,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAA;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,gCAAgC,EAAE,MAAM,iDAAiD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,YAAY,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAA;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAA;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,gCAAgC,EAAE,MAAM,iDAAiD,CAAA"}
package/dist/index.js CHANGED
@@ -25,6 +25,8 @@ export { migrateReset } from './migrateReset.js';
25
25
  export { migrateStatus } from './migrateStatus.js';
26
26
  export { operatorMap } from './queries/operatorMap.js';
27
27
  export { queryDrafts } from './queryDrafts.js';
28
+ export { buildDrizzleRelations } from './schema/buildDrizzleRelations.js';
29
+ export { buildRawSchema } from './schema/buildRawSchema.js';
28
30
  export { beginTransaction } from './transactions/beginTransaction.js';
29
31
  export { commitTransaction } from './transactions/commitTransaction.js';
30
32
  export { rollbackTransaction } from './transactions/rollbackTransaction.js';
@@ -35,6 +37,7 @@ export { updateVersion } from './updateVersion.js';
35
37
  export { upsertRow } from './upsertRow/index.js';
36
38
  export { buildCreateMigration } from './utilities/buildCreateMigration.js';
37
39
  export { buildIndexName } from './utilities/buildIndexName.js';
40
+ export { createSchemaGenerator } from './utilities/createSchemaGenerator.js';
38
41
  export { executeSchemaHooks } from './utilities/executeSchemaHooks.js';
39
42
  export { extendDrizzleTable } from './utilities/extendDrizzleTable.js';
40
43
  export { hasLocalesTable } from './utilities/hasLocalesTable.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export { count } from './count.js'\nexport { countGlobalVersions } from './countGlobalVersions.js'\nexport { countVersions } from './countVersions.js'\nexport { create } from './create.js'\nexport { createGlobal } from './createGlobal.js'\nexport { createGlobalVersion } from './createGlobalVersion.js'\nexport { createTableName } from './createTableName.js'\nexport { createVersion } from './createVersion.js'\nexport { deleteMany } from './deleteMany.js'\nexport { deleteOne } from './deleteOne.js'\nexport { deleteVersions } from './deleteVersions.js'\nexport { destroy } from './destroy.js'\nexport { find } from './find.js'\nexport { chainMethods } from './find/chainMethods.js'\nexport { findGlobal } from './findGlobal.js'\nexport { findGlobalVersions } from './findGlobalVersions.js'\nexport { findMigrationDir } from './findMigrationDir.js'\nexport { findOne } from './findOne.js'\nexport { findVersions } from './findVersions.js'\nexport { migrate } from './migrate.js'\nexport { migrateDown } from './migrateDown.js'\nexport { migrateFresh } from './migrateFresh.js'\nexport { migrateRefresh } from './migrateRefresh.js'\nexport { migrateReset } from './migrateReset.js'\nexport { migrateStatus } from './migrateStatus.js'\nexport { operatorMap } from './queries/operatorMap.js'\nexport type { Operators } from './queries/operatorMap.js'\nexport { queryDrafts } from './queryDrafts.js'\nexport { beginTransaction } from './transactions/beginTransaction.js'\nexport { commitTransaction } from './transactions/commitTransaction.js'\nexport { rollbackTransaction } from './transactions/rollbackTransaction.js'\nexport { updateOne } from './update.js'\nexport { updateGlobal } from './updateGlobal.js'\nexport { updateGlobalVersion } from './updateGlobalVersion.js'\nexport { updateVersion } from './updateVersion.js'\nexport { upsertRow } from './upsertRow/index.js'\nexport { buildCreateMigration } from './utilities/buildCreateMigration.js'\nexport { buildIndexName } from './utilities/buildIndexName.js'\nexport { executeSchemaHooks } from './utilities/executeSchemaHooks.js'\nexport { extendDrizzleTable } from './utilities/extendDrizzleTable.js'\nexport { hasLocalesTable } from './utilities/hasLocalesTable.js'\nexport { pushDevSchema } from './utilities/pushDevSchema.js'\nexport { validateExistingBlockIsIdentical } from './utilities/validateExistingBlockIsIdentical.js'\n"],"names":["count","countGlobalVersions","countVersions","create","createGlobal","createGlobalVersion","createTableName","createVersion","deleteMany","deleteOne","deleteVersions","destroy","find","chainMethods","findGlobal","findGlobalVersions","findMigrationDir","findOne","findVersions","migrate","migrateDown","migrateFresh","migrateRefresh","migrateReset","migrateStatus","operatorMap","queryDrafts","beginTransaction","commitTransaction","rollbackTransaction","updateOne","updateGlobal","updateGlobalVersion","updateVersion","upsertRow","buildCreateMigration","buildIndexName","executeSchemaHooks","extendDrizzleTable","hasLocalesTable","pushDevSchema","validateExistingBlockIsIdentical"],"mappings":"AAAA,SAASA,KAAK,QAAQ,aAAY;AAClC,SAASC,mBAAmB,QAAQ,2BAA0B;AAC9D,SAASC,aAAa,QAAQ,qBAAoB;AAClD,SAASC,MAAM,QAAQ,cAAa;AACpC,SAASC,YAAY,QAAQ,oBAAmB;AAChD,SAASC,mBAAmB,QAAQ,2BAA0B;AAC9D,SAASC,eAAe,QAAQ,uBAAsB;AACtD,SAASC,aAAa,QAAQ,qBAAoB;AAClD,SAASC,UAAU,QAAQ,kBAAiB;AAC5C,SAASC,SAAS,QAAQ,iBAAgB;AAC1C,SAASC,cAAc,QAAQ,sBAAqB;AACpD,SAASC,OAAO,QAAQ,eAAc;AACtC,SAASC,IAAI,QAAQ,YAAW;AAChC,SAASC,YAAY,QAAQ,yBAAwB;AACrD,SAASC,UAAU,QAAQ,kBAAiB;AAC5C,SAASC,kBAAkB,QAAQ,0BAAyB;AAC5D,SAASC,gBAAgB,QAAQ,wBAAuB;AACxD,SAASC,OAAO,QAAQ,eAAc;AACtC,SAASC,YAAY,QAAQ,oBAAmB;AAChD,SAASC,OAAO,QAAQ,eAAc;AACtC,SAASC,WAAW,QAAQ,mBAAkB;AAC9C,SAASC,YAAY,QAAQ,oBAAmB;AAChD,SAASC,cAAc,QAAQ,sBAAqB;AACpD,SAASC,YAAY,QAAQ,oBAAmB;AAChD,SAASC,aAAa,QAAQ,qBAAoB;AAClD,SAASC,WAAW,QAAQ,2BAA0B;AAEtD,SAASC,WAAW,QAAQ,mBAAkB;AAC9C,SAASC,gBAAgB,QAAQ,qCAAoC;AACrE,SAASC,iBAAiB,QAAQ,sCAAqC;AACvE,SAASC,mBAAmB,QAAQ,wCAAuC;AAC3E,SAASC,SAAS,QAAQ,cAAa;AACvC,SAASC,YAAY,QAAQ,oBAAmB;AAChD,SAASC,mBAAmB,QAAQ,2BAA0B;AAC9D,SAASC,aAAa,QAAQ,qBAAoB;AAClD,SAASC,SAAS,QAAQ,uBAAsB;AAChD,SAASC,oBAAoB,QAAQ,sCAAqC;AAC1E,SAASC,cAAc,QAAQ,gCAA+B;AAC9D,SAASC,kBAAkB,QAAQ,oCAAmC;AACtE,SAASC,kBAAkB,QAAQ,oCAAmC;AACtE,SAASC,eAAe,QAAQ,iCAAgC;AAChE,SAASC,aAAa,QAAQ,+BAA8B;AAC5D,SAASC,gCAAgC,QAAQ,kDAAiD"}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export { count } from './count.js'\nexport { countGlobalVersions } from './countGlobalVersions.js'\nexport { countVersions } from './countVersions.js'\nexport { create } from './create.js'\nexport { createGlobal } from './createGlobal.js'\nexport { createGlobalVersion } from './createGlobalVersion.js'\nexport { createTableName } from './createTableName.js'\nexport { createVersion } from './createVersion.js'\nexport { deleteMany } from './deleteMany.js'\nexport { deleteOne } from './deleteOne.js'\nexport { deleteVersions } from './deleteVersions.js'\nexport { destroy } from './destroy.js'\nexport { find } from './find.js'\nexport { chainMethods } from './find/chainMethods.js'\nexport { findGlobal } from './findGlobal.js'\nexport { findGlobalVersions } from './findGlobalVersions.js'\nexport { findMigrationDir } from './findMigrationDir.js'\nexport { findOne } from './findOne.js'\nexport { findVersions } from './findVersions.js'\nexport { migrate } from './migrate.js'\nexport { migrateDown } from './migrateDown.js'\nexport { migrateFresh } from './migrateFresh.js'\nexport { migrateRefresh } from './migrateRefresh.js'\nexport { migrateReset } from './migrateReset.js'\nexport { migrateStatus } from './migrateStatus.js'\nexport { operatorMap } from './queries/operatorMap.js'\nexport type { Operators } from './queries/operatorMap.js'\nexport { queryDrafts } from './queryDrafts.js'\nexport { buildDrizzleRelations } from './schema/buildDrizzleRelations.js'\nexport { buildRawSchema } from './schema/buildRawSchema.js'\nexport { beginTransaction } from './transactions/beginTransaction.js'\nexport { commitTransaction } from './transactions/commitTransaction.js'\nexport { rollbackTransaction } from './transactions/rollbackTransaction.js'\nexport { updateOne } from './update.js'\nexport { updateGlobal } from './updateGlobal.js'\nexport { updateGlobalVersion } from './updateGlobalVersion.js'\nexport { updateVersion } from './updateVersion.js'\nexport { upsertRow } from './upsertRow/index.js'\nexport { buildCreateMigration } from './utilities/buildCreateMigration.js'\nexport { buildIndexName } from './utilities/buildIndexName.js'\nexport { createSchemaGenerator } from './utilities/createSchemaGenerator.js'\nexport { executeSchemaHooks } from './utilities/executeSchemaHooks.js'\nexport { extendDrizzleTable } from './utilities/extendDrizzleTable.js'\nexport { hasLocalesTable } from './utilities/hasLocalesTable.js'\nexport { pushDevSchema } from './utilities/pushDevSchema.js'\nexport { validateExistingBlockIsIdentical } from './utilities/validateExistingBlockIsIdentical.js'\n"],"names":["count","countGlobalVersions","countVersions","create","createGlobal","createGlobalVersion","createTableName","createVersion","deleteMany","deleteOne","deleteVersions","destroy","find","chainMethods","findGlobal","findGlobalVersions","findMigrationDir","findOne","findVersions","migrate","migrateDown","migrateFresh","migrateRefresh","migrateReset","migrateStatus","operatorMap","queryDrafts","buildDrizzleRelations","buildRawSchema","beginTransaction","commitTransaction","rollbackTransaction","updateOne","updateGlobal","updateGlobalVersion","updateVersion","upsertRow","buildCreateMigration","buildIndexName","createSchemaGenerator","executeSchemaHooks","extendDrizzleTable","hasLocalesTable","pushDevSchema","validateExistingBlockIsIdentical"],"mappings":"AAAA,SAASA,KAAK,QAAQ,aAAY;AAClC,SAASC,mBAAmB,QAAQ,2BAA0B;AAC9D,SAASC,aAAa,QAAQ,qBAAoB;AAClD,SAASC,MAAM,QAAQ,cAAa;AACpC,SAASC,YAAY,QAAQ,oBAAmB;AAChD,SAASC,mBAAmB,QAAQ,2BAA0B;AAC9D,SAASC,eAAe,QAAQ,uBAAsB;AACtD,SAASC,aAAa,QAAQ,qBAAoB;AAClD,SAASC,UAAU,QAAQ,kBAAiB;AAC5C,SAASC,SAAS,QAAQ,iBAAgB;AAC1C,SAASC,cAAc,QAAQ,sBAAqB;AACpD,SAASC,OAAO,QAAQ,eAAc;AACtC,SAASC,IAAI,QAAQ,YAAW;AAChC,SAASC,YAAY,QAAQ,yBAAwB;AACrD,SAASC,UAAU,QAAQ,kBAAiB;AAC5C,SAASC,kBAAkB,QAAQ,0BAAyB;AAC5D,SAASC,gBAAgB,QAAQ,wBAAuB;AACxD,SAASC,OAAO,QAAQ,eAAc;AACtC,SAASC,YAAY,QAAQ,oBAAmB;AAChD,SAASC,OAAO,QAAQ,eAAc;AACtC,SAASC,WAAW,QAAQ,mBAAkB;AAC9C,SAASC,YAAY,QAAQ,oBAAmB;AAChD,SAASC,cAAc,QAAQ,sBAAqB;AACpD,SAASC,YAAY,QAAQ,oBAAmB;AAChD,SAASC,aAAa,QAAQ,qBAAoB;AAClD,SAASC,WAAW,QAAQ,2BAA0B;AAEtD,SAASC,WAAW,QAAQ,mBAAkB;AAC9C,SAASC,qBAAqB,QAAQ,oCAAmC;AACzE,SAASC,cAAc,QAAQ,6BAA4B;AAC3D,SAASC,gBAAgB,QAAQ,qCAAoC;AACrE,SAASC,iBAAiB,QAAQ,sCAAqC;AACvE,SAASC,mBAAmB,QAAQ,wCAAuC;AAC3E,SAASC,SAAS,QAAQ,cAAa;AACvC,SAASC,YAAY,QAAQ,oBAAmB;AAChD,SAASC,mBAAmB,QAAQ,2BAA0B;AAC9D,SAASC,aAAa,QAAQ,qBAAoB;AAClD,SAASC,SAAS,QAAQ,uBAAsB;AAChD,SAASC,oBAAoB,QAAQ,sCAAqC;AAC1E,SAASC,cAAc,QAAQ,gCAA+B;AAC9D,SAASC,qBAAqB,QAAQ,uCAAsC;AAC5E,SAASC,kBAAkB,QAAQ,oCAAmC;AACtE,SAASC,kBAAkB,QAAQ,oCAAmC;AACtE,SAASC,eAAe,QAAQ,iCAAgC;AAChE,SAASC,aAAa,QAAQ,+BAA8B;AAC5D,SAASC,gCAAgC,QAAQ,kDAAiD"}
@@ -0,0 +1,3 @@
1
+ import type { ColumnToCodeConverter } from '../types.js';
2
+ export declare const columnToCodeConverter: ColumnToCodeConverter;
3
+ //# sourceMappingURL=columnToCodeConverter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columnToCodeConverter.d.ts","sourceRoot":"","sources":["../../src/postgres/columnToCodeConverter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAExD,eAAO,MAAM,qBAAqB,EAAE,qBAkFnC,CAAA"}
@@ -0,0 +1,64 @@
1
+ export const columnToCodeConverter = ({ adapter, addEnum, addImport, column })=>{
2
+ let columnBuilderFn = column.type;
3
+ if (column.type === 'geometry') {
4
+ columnBuilderFn = 'geometryColumn';
5
+ addImport(`@payloadcms/drizzle/postgres`, columnBuilderFn);
6
+ } else if (column.type === 'enum') {
7
+ if ('locale' in column) {
8
+ columnBuilderFn = `enum__locales`;
9
+ } else {
10
+ addEnum(column.enumName, column.options);
11
+ columnBuilderFn = column.enumName;
12
+ }
13
+ } else {
14
+ addImport(`${adapter.packageName}/drizzle/pg-core`, columnBuilderFn);
15
+ }
16
+ const columnBuilderArgsArray = [];
17
+ if (column.type === 'timestamp') {
18
+ columnBuilderArgsArray.push(`mode: '${column.mode}'`);
19
+ if (column.withTimezone) {
20
+ columnBuilderArgsArray.push('withTimezone: true');
21
+ }
22
+ if (typeof column.precision === 'number') {
23
+ columnBuilderArgsArray.push(`precision: ${column.precision}`);
24
+ }
25
+ }
26
+ let columnBuilderArgs = '';
27
+ if (columnBuilderArgsArray.length) {
28
+ columnBuilderArgs = `, {${columnBuilderArgsArray.join(',')}}`;
29
+ }
30
+ let code = `${columnBuilderFn}('${column.name}'${columnBuilderArgs})`;
31
+ if (column.type === 'timestamp' && column.defaultNow) {
32
+ code = `${code}.defaultNow()`;
33
+ }
34
+ if (column.type === 'uuid' && column.defaultRandom) {
35
+ code = `${code}.defaultRandom()`;
36
+ }
37
+ if (column.notNull) {
38
+ code = `${code}.notNull()`;
39
+ }
40
+ if (column.primaryKey) {
41
+ code = `${code}.primaryKey()`;
42
+ }
43
+ if (typeof column.default !== 'undefined') {
44
+ let sanitizedDefault = column.default;
45
+ if (column.type === 'geometry') {
46
+ sanitizedDefault = `sql\`${column.default}\``;
47
+ } else if (column.type === 'jsonb') {
48
+ sanitizedDefault = `sql\`'${JSON.stringify(column.default)}'::jsonb\``;
49
+ } else if (column.type === 'numeric') {
50
+ sanitizedDefault = `'${column.default}'`;
51
+ } else if (typeof column.default === 'string') {
52
+ sanitizedDefault = `${JSON.stringify(column.default)}`;
53
+ }
54
+ code = `${code}.default(${sanitizedDefault})`;
55
+ }
56
+ if (column.reference) {
57
+ code = `${code}.references(() => ${column.reference.table}.${column.reference.name}, {
58
+ ${column.reference.onDelete ? `onDelete: '${column.reference.onDelete}'` : ''}
59
+ })`;
60
+ }
61
+ return code;
62
+ };
63
+
64
+ //# sourceMappingURL=columnToCodeConverter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/postgres/columnToCodeConverter.ts"],"sourcesContent":["import type { ColumnToCodeConverter } from '../types.js'\n\nexport const columnToCodeConverter: ColumnToCodeConverter = ({\n adapter,\n addEnum,\n addImport,\n column,\n}) => {\n let columnBuilderFn: string = column.type\n\n if (column.type === 'geometry') {\n columnBuilderFn = 'geometryColumn'\n addImport(`@payloadcms/drizzle/postgres`, columnBuilderFn)\n } else if (column.type === 'enum') {\n if ('locale' in column) {\n columnBuilderFn = `enum__locales`\n } else {\n addEnum(column.enumName, column.options)\n columnBuilderFn = column.enumName\n }\n } else {\n addImport(`${adapter.packageName}/drizzle/pg-core`, columnBuilderFn)\n }\n\n const columnBuilderArgsArray: string[] = []\n\n if (column.type === 'timestamp') {\n columnBuilderArgsArray.push(`mode: '${column.mode}'`)\n if (column.withTimezone) {\n columnBuilderArgsArray.push('withTimezone: true')\n }\n\n if (typeof column.precision === 'number') {\n columnBuilderArgsArray.push(`precision: ${column.precision}`)\n }\n }\n\n let columnBuilderArgs = ''\n\n if (columnBuilderArgsArray.length) {\n columnBuilderArgs = `, {${columnBuilderArgsArray.join(',')}}`\n }\n\n let code = `${columnBuilderFn}('${column.name}'${columnBuilderArgs})`\n\n if (column.type === 'timestamp' && column.defaultNow) {\n code = `${code}.defaultNow()`\n }\n\n if (column.type === 'uuid' && column.defaultRandom) {\n code = `${code}.defaultRandom()`\n }\n\n if (column.notNull) {\n code = `${code}.notNull()`\n }\n\n if (column.primaryKey) {\n code = `${code}.primaryKey()`\n }\n\n if (typeof column.default !== 'undefined') {\n let sanitizedDefault = column.default\n\n if (column.type === 'geometry') {\n sanitizedDefault = `sql\\`${column.default}\\``\n } else if (column.type === 'jsonb') {\n sanitizedDefault = `sql\\`'${JSON.stringify(column.default)}'::jsonb\\``\n } else if (column.type === 'numeric') {\n sanitizedDefault = `'${column.default}'`\n } else if (typeof column.default === 'string') {\n sanitizedDefault = `${JSON.stringify(column.default)}`\n }\n\n code = `${code}.default(${sanitizedDefault})`\n }\n\n if (column.reference) {\n code = `${code}.references(() => ${column.reference.table}.${column.reference.name}, {\n ${column.reference.onDelete ? `onDelete: '${column.reference.onDelete}'` : ''}\n })`\n }\n\n return code\n}\n"],"names":["columnToCodeConverter","adapter","addEnum","addImport","column","columnBuilderFn","type","enumName","options","packageName","columnBuilderArgsArray","push","mode","withTimezone","precision","columnBuilderArgs","length","join","code","name","defaultNow","defaultRandom","notNull","primaryKey","default","sanitizedDefault","JSON","stringify","reference","table","onDelete"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/postgres/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAA6B,MAAM,SAAS,CAAA;AAY9D,eAAO,MAAM,IAAI,EAAE,IAyGlB,CAAA"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/postgres/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAUnC,eAAO,MAAM,IAAI,EAAE,IA2BlB,CAAA"}
@@ -1,10 +1,15 @@
1
- import { uniqueIndex } from 'drizzle-orm/pg-core';
2
- import { buildVersionCollectionFields, buildVersionGlobalFields } from 'payload';
3
- import toSnakeCase from 'to-snake-case';
4
- import { createTableName } from '../createTableName.js';
1
+ import { buildDrizzleRelations } from '../schema/buildDrizzleRelations.js';
2
+ import { buildRawSchema } from '../schema/buildRawSchema.js';
5
3
  import { executeSchemaHooks } from '../utilities/executeSchemaHooks.js';
6
- import { buildTable } from './schema/build.js';
4
+ import { buildDrizzleTable } from './schema/buildDrizzleTable.js';
5
+ import { setColumnID } from './schema/setColumnID.js';
7
6
  export const init = async function init() {
7
+ this.rawRelations = {};
8
+ this.rawTables = {};
9
+ buildRawSchema({
10
+ adapter: this,
11
+ setColumnID
12
+ });
8
13
  await executeSchemaHooks({
9
14
  type: 'beforeSchemaInit',
10
15
  adapter: this
@@ -12,88 +17,14 @@ export const init = async function init() {
12
17
  if (this.payload.config.localization) {
13
18
  this.enums.enum__locales = this.pgSchema.enum('_locales', this.payload.config.localization.locales.map(({ code })=>code));
14
19
  }
15
- this.payload.config.collections.forEach((collection)=>{
16
- createTableName({
17
- adapter: this,
18
- config: collection
19
- });
20
- if (collection.versions) {
21
- createTableName({
22
- adapter: this,
23
- config: collection,
24
- versions: true,
25
- versionsCustomName: true
26
- });
27
- }
28
- });
29
- this.payload.config.collections.forEach((collection)=>{
30
- const tableName = this.tableNameMap.get(toSnakeCase(collection.slug));
31
- const baseExtraConfig = {};
32
- if (collection.upload.filenameCompoundIndex) {
33
- const indexName = `${tableName}_filename_compound_idx`;
34
- baseExtraConfig.filename_compound_index = (cols)=>{
35
- const colsConstraint = collection.upload.filenameCompoundIndex.map((f)=>{
36
- return cols[f];
37
- });
38
- return uniqueIndex(indexName).on(colsConstraint[0], ...colsConstraint.slice(1));
39
- };
40
- }
41
- buildTable({
20
+ for(const tableName in this.rawTables){
21
+ buildDrizzleTable({
42
22
  adapter: this,
43
- baseExtraConfig,
44
- disableNotNull: !!collection?.versions?.drafts,
45
- disableUnique: false,
46
- fields: collection.flattenedFields,
47
- tableName,
48
- timestamps: collection.timestamps,
49
- versions: false
23
+ rawTable: this.rawTables[tableName]
50
24
  });
51
- if (collection.versions) {
52
- const versionsTableName = this.tableNameMap.get(`_${toSnakeCase(collection.slug)}${this.versionsSuffix}`);
53
- const versionFields = buildVersionCollectionFields(this.payload.config, collection, true);
54
- buildTable({
55
- adapter: this,
56
- disableNotNull: !!collection.versions?.drafts,
57
- disableUnique: true,
58
- fields: versionFields,
59
- tableName: versionsTableName,
60
- timestamps: true,
61
- versions: true
62
- });
63
- }
64
- });
65
- this.payload.config.globals.forEach((global)=>{
66
- const tableName = createTableName({
67
- adapter: this,
68
- config: global
69
- });
70
- buildTable({
71
- adapter: this,
72
- disableNotNull: !!global?.versions?.drafts,
73
- disableUnique: false,
74
- fields: global.flattenedFields,
75
- tableName,
76
- timestamps: false,
77
- versions: false
78
- });
79
- if (global.versions) {
80
- const versionsTableName = createTableName({
81
- adapter: this,
82
- config: global,
83
- versions: true,
84
- versionsCustomName: true
85
- });
86
- const versionFields = buildVersionGlobalFields(this.payload.config, global, true);
87
- buildTable({
88
- adapter: this,
89
- disableNotNull: !!global.versions?.drafts,
90
- disableUnique: true,
91
- fields: versionFields,
92
- tableName: versionsTableName,
93
- timestamps: true,
94
- versions: true
95
- });
96
- }
25
+ }
26
+ buildDrizzleRelations({
27
+ adapter: this
97
28
  });
98
29
  await executeSchemaHooks({
99
30
  type: 'afterSchemaInit',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/postgres/init.ts"],"sourcesContent":["import type { Init, SanitizedCollectionConfig } from 'payload'\n\nimport { uniqueIndex } from 'drizzle-orm/pg-core'\nimport { buildVersionCollectionFields, buildVersionGlobalFields } from 'payload'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { BaseExtraConfig, BasePostgresAdapter } from './types.js'\n\nimport { createTableName } from '../createTableName.js'\nimport { executeSchemaHooks } from '../utilities/executeSchemaHooks.js'\nimport { buildTable } from './schema/build.js'\n\nexport const init: Init = async function init(this: BasePostgresAdapter) {\n await executeSchemaHooks({ type: 'beforeSchemaInit', adapter: this })\n\n if (this.payload.config.localization) {\n this.enums.enum__locales = this.pgSchema.enum(\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 const baseExtraConfig: BaseExtraConfig = {}\n\n if (collection.upload.filenameCompoundIndex) {\n const indexName = `${tableName}_filename_compound_idx`\n\n baseExtraConfig.filename_compound_index = (cols) => {\n const colsConstraint = collection.upload.filenameCompoundIndex.map((f) => {\n return cols[f]\n })\n return uniqueIndex(indexName).on(colsConstraint[0], ...colsConstraint.slice(1))\n }\n }\n\n buildTable({\n adapter: this,\n baseExtraConfig,\n disableNotNull: !!collection?.versions?.drafts,\n disableUnique: false,\n fields: collection.flattenedFields,\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(this.payload.config, collection, true)\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.flattenedFields,\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(this.payload.config, global, true)\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 await executeSchemaHooks({ type: 'afterSchemaInit', adapter: this })\n}\n"],"names":["uniqueIndex","buildVersionCollectionFields","buildVersionGlobalFields","toSnakeCase","createTableName","executeSchemaHooks","buildTable","init","type","adapter","payload","config","localization","enums","enum__locales","pgSchema","enum","locales","map","code","collections","forEach","collection","versions","versionsCustomName","tableName","tableNameMap","get","slug","baseExtraConfig","upload","filenameCompoundIndex","indexName","filename_compound_index","cols","colsConstraint","f","on","slice","disableNotNull","drafts","disableUnique","fields","flattenedFields","timestamps","versionsTableName","versionsSuffix","versionFields","globals","global"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/postgres/init.ts"],"sourcesContent":["import type { Init } from 'payload'\n\nimport type { BasePostgresAdapter } from './types.js'\n\nimport { buildDrizzleRelations } from '../schema/buildDrizzleRelations.js'\nimport { buildRawSchema } from '../schema/buildRawSchema.js'\nimport { executeSchemaHooks } from '../utilities/executeSchemaHooks.js'\nimport { buildDrizzleTable } from './schema/buildDrizzleTable.js'\nimport { setColumnID } from './schema/setColumnID.js'\n\nexport const init: Init = async function init(this: BasePostgresAdapter) {\n this.rawRelations = {}\n this.rawTables = {}\n\n buildRawSchema({\n adapter: this,\n setColumnID,\n })\n\n await executeSchemaHooks({ type: 'beforeSchemaInit', adapter: this })\n\n if (this.payload.config.localization) {\n this.enums.enum__locales = this.pgSchema.enum(\n '_locales',\n this.payload.config.localization.locales.map(({ code }) => code) as [string, ...string[]],\n )\n }\n\n for (const tableName in this.rawTables) {\n buildDrizzleTable({ adapter: this, rawTable: this.rawTables[tableName] })\n }\n\n buildDrizzleRelations({\n adapter: this,\n })\n\n await executeSchemaHooks({ type: 'afterSchemaInit', adapter: this })\n}\n"],"names":["buildDrizzleRelations","buildRawSchema","executeSchemaHooks","buildDrizzleTable","setColumnID","init","rawRelations","rawTables","adapter","type","payload","config","localization","enums","enum__locales","pgSchema","enum","locales","map","code","tableName","rawTable"],"mappings":"AAIA,SAASA,qBAAqB,QAAQ,qCAAoC;AAC1E,SAASC,cAAc,QAAQ,8BAA6B;AAC5D,SAASC,kBAAkB,QAAQ,qCAAoC;AACvE,SAASC,iBAAiB,QAAQ,gCAA+B;AACjE,SAASC,WAAW,QAAQ,0BAAyB;AAErD,OAAO,MAAMC,OAAa,eAAeA;IACvC,IAAI,CAACC,YAAY,GAAG,CAAC;IACrB,IAAI,CAACC,SAAS,GAAG,CAAC;IAElBN,eAAe;QACbO,SAAS,IAAI;QACbJ;IACF;IAEA,MAAMF,mBAAmB;QAAEO,MAAM;QAAoBD,SAAS,IAAI;IAAC;IAEnE,IAAI,IAAI,CAACE,OAAO,CAACC,MAAM,CAACC,YAAY,EAAE;QACpC,IAAI,CAACC,KAAK,CAACC,aAAa,GAAG,IAAI,CAACC,QAAQ,CAACC,IAAI,CAC3C,YACA,IAAI,CAACN,OAAO,CAACC,MAAM,CAACC,YAAY,CAACK,OAAO,CAACC,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA;IAE/D;IAEA,IAAK,MAAMC,aAAa,IAAI,CAACb,SAAS,CAAE;QACtCJ,kBAAkB;YAAEK,SAAS,IAAI;YAAEa,UAAU,IAAI,CAACd,SAAS,CAACa,UAAU;QAAC;IACzE;IAEApB,sBAAsB;QACpBQ,SAAS,IAAI;IACf;IAEA,MAAMN,mBAAmB;QAAEO,MAAM;QAAmBD,SAAS,IAAI;IAAC;AACpE,EAAC"}
@@ -0,0 +1,7 @@
1
+ import type { RawTable } from '../../types.js';
2
+ import type { BasePostgresAdapter } from '../types.js';
3
+ export declare const buildDrizzleTable: ({ adapter, rawTable, }: {
4
+ adapter: BasePostgresAdapter;
5
+ rawTable: RawTable;
6
+ }) => void;
7
+ //# sourceMappingURL=buildDrizzleTable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildDrizzleTable.d.ts","sourceRoot":"","sources":["../../../src/postgres/schema/buildDrizzleTable.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAa,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAgBtD,eAAO,MAAM,iBAAiB,2BAG3B;IACD,OAAO,EAAE,mBAAmB,CAAA;IAC5B,QAAQ,EAAE,QAAQ,CAAA;CACnB,SAiIA,CAAA"}
@@ -0,0 +1,114 @@
1
+ import { boolean, foreignKey, index, integer, jsonb, numeric, serial, text, timestamp, uniqueIndex, uuid, varchar } from 'drizzle-orm/pg-core';
2
+ import { geometryColumn } from './geometryColumn.js';
3
+ const rawColumnBuilderMap = {
4
+ boolean,
5
+ geometry: geometryColumn,
6
+ integer,
7
+ jsonb,
8
+ numeric,
9
+ serial,
10
+ text,
11
+ uuid,
12
+ varchar
13
+ };
14
+ export const buildDrizzleTable = ({ adapter, rawTable })=>{
15
+ const columns = {};
16
+ for (const [key, column] of Object.entries(rawTable.columns)){
17
+ switch(column.type){
18
+ case 'enum':
19
+ if ('locale' in column) {
20
+ columns[key] = adapter.enums.enum__locales(column.name);
21
+ } else {
22
+ adapter.enums[column.enumName] = adapter.pgSchema.enum(column.enumName, column.options);
23
+ columns[key] = adapter.enums[column.enumName](column.name);
24
+ }
25
+ break;
26
+ case 'timestamp':
27
+ {
28
+ let builder = timestamp(column.name, {
29
+ mode: column.mode,
30
+ precision: column.precision,
31
+ withTimezone: column.withTimezone
32
+ });
33
+ if (column.defaultNow) {
34
+ builder = builder.defaultNow();
35
+ }
36
+ columns[key] = builder;
37
+ break;
38
+ }
39
+ case 'uuid':
40
+ {
41
+ let builder = uuid(column.name);
42
+ if (column.defaultRandom) {
43
+ builder = builder.defaultRandom();
44
+ }
45
+ columns[key] = builder;
46
+ break;
47
+ }
48
+ default:
49
+ columns[key] = rawColumnBuilderMap[column.type](column.name);
50
+ break;
51
+ }
52
+ if (column.reference) {
53
+ columns[key].references(()=>adapter.tables[column.reference.table][column.reference.name], {
54
+ onDelete: column.reference.onDelete
55
+ });
56
+ }
57
+ if (column.primaryKey) {
58
+ columns[key].primaryKey();
59
+ }
60
+ if (column.notNull) {
61
+ columns[key].notNull();
62
+ }
63
+ if (typeof column.default !== 'undefined') {
64
+ let sanitizedDefault = column.default;
65
+ if (column.type === 'geometry' && Array.isArray(column.default)) {
66
+ sanitizedDefault = `SRID=4326;POINT(${column.default[0]} ${column.default[1]})`;
67
+ }
68
+ columns[key].default(sanitizedDefault);
69
+ }
70
+ if (column.type === 'geometry') {
71
+ if (!adapter.extensions.postgis) {
72
+ adapter.extensions.postgis = true;
73
+ }
74
+ }
75
+ }
76
+ const extraConfig = (cols)=>{
77
+ const config = {};
78
+ if (rawTable.indexes) {
79
+ for (const [key, rawIndex] of Object.entries(rawTable.indexes)){
80
+ let fn = index;
81
+ if (rawIndex.unique) {
82
+ fn = uniqueIndex;
83
+ }
84
+ if (Array.isArray(rawIndex.on)) {
85
+ if (rawIndex.on.length) {
86
+ config[key] = fn(rawIndex.name).on(...rawIndex.on.map((colName)=>cols[colName]));
87
+ }
88
+ } else {
89
+ config[key] = fn(rawIndex.name).on(cols[rawIndex.on]);
90
+ }
91
+ }
92
+ }
93
+ if (rawTable.foreignKeys) {
94
+ for (const [key, rawForeignKey] of Object.entries(rawTable.foreignKeys)){
95
+ let builder = foreignKey({
96
+ name: rawForeignKey.name,
97
+ columns: rawForeignKey.columns.map((colName)=>cols[colName]),
98
+ foreignColumns: rawForeignKey.foreignColumns.map((column)=>adapter.tables[column.table][column.name])
99
+ });
100
+ if (rawForeignKey.onDelete) {
101
+ builder = builder.onDelete(rawForeignKey.onDelete);
102
+ }
103
+ if (rawForeignKey.onUpdate) {
104
+ builder = builder.onDelete(rawForeignKey.onUpdate);
105
+ }
106
+ config[key] = builder;
107
+ }
108
+ }
109
+ return config;
110
+ };
111
+ adapter.tables[rawTable.name] = adapter.pgSchema.table(rawTable.name, columns, extraConfig);
112
+ };
113
+
114
+ //# sourceMappingURL=buildDrizzleTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/postgres/schema/buildDrizzleTable.ts"],"sourcesContent":["import type { ForeignKeyBuilder, IndexBuilder } from 'drizzle-orm/pg-core'\n\nimport {\n boolean,\n foreignKey,\n index,\n integer,\n jsonb,\n numeric,\n serial,\n text,\n timestamp,\n uniqueIndex,\n uuid,\n varchar,\n} from 'drizzle-orm/pg-core'\n\nimport type { RawColumn, RawTable } from '../../types.js'\nimport type { BasePostgresAdapter } from '../types.js'\n\nimport { geometryColumn } from './geometryColumn.js'\n\nconst rawColumnBuilderMap: Partial<Record<RawColumn['type'], any>> = {\n boolean,\n geometry: geometryColumn,\n integer,\n jsonb,\n numeric,\n serial,\n text,\n uuid,\n varchar,\n}\n\nexport const buildDrizzleTable = ({\n adapter,\n rawTable,\n}: {\n adapter: BasePostgresAdapter\n rawTable: RawTable\n}) => {\n const columns: Record<string, any> = {}\n\n for (const [key, column] of Object.entries(rawTable.columns)) {\n switch (column.type) {\n case 'enum':\n if ('locale' in column) {\n columns[key] = adapter.enums.enum__locales(column.name)\n } else {\n adapter.enums[column.enumName] = adapter.pgSchema.enum(\n column.enumName,\n column.options as [string, ...string[]],\n )\n columns[key] = adapter.enums[column.enumName](column.name)\n }\n break\n\n case 'timestamp': {\n let builder = timestamp(column.name, {\n mode: column.mode,\n precision: column.precision,\n withTimezone: column.withTimezone,\n })\n\n if (column.defaultNow) {\n builder = builder.defaultNow()\n }\n\n columns[key] = builder\n break\n }\n\n case 'uuid': {\n let builder = uuid(column.name)\n\n if (column.defaultRandom) {\n builder = builder.defaultRandom()\n }\n\n columns[key] = builder\n break\n }\n\n default:\n columns[key] = rawColumnBuilderMap[column.type](column.name)\n break\n }\n\n if (column.reference) {\n columns[key].references(() => adapter.tables[column.reference.table][column.reference.name], {\n onDelete: column.reference.onDelete,\n })\n }\n\n if (column.primaryKey) {\n columns[key].primaryKey()\n }\n\n if (column.notNull) {\n columns[key].notNull()\n }\n\n if (typeof column.default !== 'undefined') {\n let sanitizedDefault = column.default\n\n if (column.type === 'geometry' && Array.isArray(column.default)) {\n sanitizedDefault = `SRID=4326;POINT(${column.default[0]} ${column.default[1]})`\n }\n\n columns[key].default(sanitizedDefault)\n }\n\n if (column.type === 'geometry') {\n if (!adapter.extensions.postgis) {\n adapter.extensions.postgis = true\n }\n }\n }\n\n const extraConfig = (cols: any) => {\n const config: Record<string, ForeignKeyBuilder | IndexBuilder> = {}\n\n if (rawTable.indexes) {\n for (const [key, rawIndex] of Object.entries(rawTable.indexes)) {\n let fn: any = index\n if (rawIndex.unique) {\n fn = uniqueIndex\n }\n\n if (Array.isArray(rawIndex.on)) {\n if (rawIndex.on.length) {\n config[key] = fn(rawIndex.name).on(...rawIndex.on.map((colName) => cols[colName]))\n }\n } else {\n config[key] = fn(rawIndex.name).on(cols[rawIndex.on])\n }\n }\n }\n\n if (rawTable.foreignKeys) {\n for (const [key, rawForeignKey] of Object.entries(rawTable.foreignKeys)) {\n let builder = foreignKey({\n name: rawForeignKey.name,\n columns: rawForeignKey.columns.map((colName) => cols[colName]) as any,\n foreignColumns: rawForeignKey.foreignColumns.map(\n (column) => adapter.tables[column.table][column.name],\n ),\n })\n\n if (rawForeignKey.onDelete) {\n builder = builder.onDelete(rawForeignKey.onDelete)\n }\n\n if (rawForeignKey.onUpdate) {\n builder = builder.onDelete(rawForeignKey.onUpdate)\n }\n\n config[key] = builder\n }\n }\n\n return config\n }\n\n adapter.tables[rawTable.name] = adapter.pgSchema.table(\n rawTable.name,\n columns as any,\n extraConfig as any,\n )\n}\n"],"names":["boolean","foreignKey","index","integer","jsonb","numeric","serial","text","timestamp","uniqueIndex","uuid","varchar","geometryColumn","rawColumnBuilderMap","geometry","buildDrizzleTable","adapter","rawTable","columns","key","column","Object","entries","type","enums","enum__locales","name","enumName","pgSchema","enum","options","builder","mode","precision","withTimezone","defaultNow","defaultRandom","reference","references","tables","table","onDelete","primaryKey","notNull","default","sanitizedDefault","Array","isArray","extensions","postgis","extraConfig","cols","config","indexes","rawIndex","fn","unique","on","length","map","colName","foreignKeys","rawForeignKey","foreignColumns","onUpdate"],"mappings":"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"}
@@ -1,11 +1,3 @@
1
- import type { PgColumnBuilder } from 'drizzle-orm/pg-core';
2
- import type { FlattenedField } from 'payload';
3
- import type { BasePostgresAdapter, IDType } from '../types.js';
4
- type Args = {
5
- adapter: BasePostgresAdapter;
6
- columns: Record<string, PgColumnBuilder>;
7
- fields: FlattenedField[];
8
- };
9
- export declare const setColumnID: ({ adapter, columns, fields }: Args) => IDType;
10
- export {};
1
+ import type { SetColumnID } from '../../types.js';
2
+ export declare const setColumnID: SetColumnID;
11
3
  //# sourceMappingURL=setColumnID.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setColumnID.d.ts","sourceRoot":"","sources":["../../../src/postgres/schema/setColumnID.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAI7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAE9D,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,mBAAmB,CAAA;IAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IACxC,MAAM,EAAE,cAAc,EAAE,CAAA;CACzB,CAAA;AACD,eAAO,MAAM,WAAW,iCAAkC,IAAI,KAAG,MAqBhE,CAAA"}
1
+ {"version":3,"file":"setColumnID.d.ts","sourceRoot":"","sources":["../../../src/postgres/schema/setColumnID.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAEjD,eAAO,MAAM,WAAW,EAAE,WAyCzB,CAAA"}
@@ -1,21 +1,37 @@
1
- import { numeric, serial, uuid, varchar } from 'drizzle-orm/pg-core';
2
1
  export const setColumnID = ({ adapter, columns, fields })=>{
3
2
  const idField = fields.find((field)=>field.name === 'id');
4
3
  if (idField) {
5
4
  if (idField.type === 'number') {
6
- columns.id = numeric('id').primaryKey();
5
+ columns.id = {
6
+ name: 'id',
7
+ type: 'numeric',
8
+ primaryKey: true
9
+ };
7
10
  return 'numeric';
8
11
  }
9
12
  if (idField.type === 'text') {
10
- columns.id = varchar('id').primaryKey();
13
+ columns.id = {
14
+ name: 'id',
15
+ type: 'varchar',
16
+ primaryKey: true
17
+ };
11
18
  return 'varchar';
12
19
  }
13
20
  }
14
21
  if (adapter.idType === 'uuid') {
15
- columns.id = uuid('id').defaultRandom().primaryKey();
22
+ columns.id = {
23
+ name: 'id',
24
+ type: 'uuid',
25
+ defaultRandom: true,
26
+ primaryKey: true
27
+ };
16
28
  return 'uuid';
17
29
  }
18
- columns.id = serial('id').primaryKey();
30
+ columns.id = {
31
+ name: 'id',
32
+ type: 'serial',
33
+ primaryKey: true
34
+ };
19
35
  return 'integer';
20
36
  };
21
37
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/postgres/schema/setColumnID.ts"],"sourcesContent":["import type { PgColumnBuilder } from 'drizzle-orm/pg-core'\nimport type { FlattenedField } from 'payload'\n\nimport { numeric, serial, uuid, varchar } from 'drizzle-orm/pg-core'\n\nimport type { BasePostgresAdapter, IDType } from '../types.js'\n\ntype Args = {\n adapter: BasePostgresAdapter\n columns: Record<string, PgColumnBuilder>\n fields: FlattenedField[]\n}\nexport const setColumnID = ({ adapter, columns, fields }: Args): IDType => {\n const idField = fields.find((field) => field.name === 'id')\n if (idField) {\n if (idField.type === 'number') {\n columns.id = numeric('id').primaryKey()\n return 'numeric'\n }\n\n if (idField.type === 'text') {\n columns.id = varchar('id').primaryKey()\n return 'varchar'\n }\n }\n\n if (adapter.idType === 'uuid') {\n columns.id = uuid('id').defaultRandom().primaryKey()\n return 'uuid'\n }\n\n columns.id = serial('id').primaryKey()\n return 'integer'\n}\n"],"names":["numeric","serial","uuid","varchar","setColumnID","adapter","columns","fields","idField","find","field","name","type","id","primaryKey","idType","defaultRandom"],"mappings":"AAGA,SAASA,OAAO,EAAEC,MAAM,EAAEC,IAAI,EAAEC,OAAO,QAAQ,sBAAqB;AASpE,OAAO,MAAMC,cAAc,CAAC,EAAEC,OAAO,EAAEC,OAAO,EAAEC,MAAM,EAAQ;IAC5D,MAAMC,UAAUD,OAAOE,IAAI,CAAC,CAACC,QAAUA,MAAMC,IAAI,KAAK;IACtD,IAAIH,SAAS;QACX,IAAIA,QAAQI,IAAI,KAAK,UAAU;YAC7BN,QAAQO,EAAE,GAAGb,QAAQ,MAAMc,UAAU;YACrC,OAAO;QACT;QAEA,IAAIN,QAAQI,IAAI,KAAK,QAAQ;YAC3BN,QAAQO,EAAE,GAAGV,QAAQ,MAAMW,UAAU;YACrC,OAAO;QACT;IACF;IAEA,IAAIT,QAAQU,MAAM,KAAK,QAAQ;QAC7BT,QAAQO,EAAE,GAAGX,KAAK,MAAMc,aAAa,GAAGF,UAAU;QAClD,OAAO;IACT;IAEAR,QAAQO,EAAE,GAAGZ,OAAO,MAAMa,UAAU;IACpC,OAAO;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../src/postgres/schema/setColumnID.ts"],"sourcesContent":["import type { SetColumnID } from '../../types.js'\n\nexport const setColumnID: SetColumnID = ({ adapter, columns, fields }) => {\n const idField = fields.find((field) => field.name === 'id')\n if (idField) {\n if (idField.type === 'number') {\n columns.id = {\n name: 'id',\n type: 'numeric',\n primaryKey: true,\n }\n\n return 'numeric'\n }\n\n if (idField.type === 'text') {\n columns.id = {\n name: 'id',\n type: 'varchar',\n primaryKey: true,\n }\n return 'varchar'\n }\n }\n\n if (adapter.idType === 'uuid') {\n columns.id = {\n name: 'id',\n type: 'uuid',\n defaultRandom: true,\n primaryKey: true,\n }\n\n return 'uuid'\n }\n\n columns.id = {\n name: 'id',\n type: 'serial',\n primaryKey: true,\n }\n\n return 'integer'\n}\n"],"names":["setColumnID","adapter","columns","fields","idField","find","field","name","type","id","primaryKey","idType","defaultRandom"],"mappings":"AAEA,OAAO,MAAMA,cAA2B,CAAC,EAAEC,OAAO,EAAEC,OAAO,EAAEC,MAAM,EAAE;IACnE,MAAMC,UAAUD,OAAOE,IAAI,CAAC,CAACC,QAAUA,MAAMC,IAAI,KAAK;IACtD,IAAIH,SAAS;QACX,IAAIA,QAAQI,IAAI,KAAK,UAAU;YAC7BN,QAAQO,EAAE,GAAG;gBACXF,MAAM;gBACNC,MAAM;gBACNE,YAAY;YACd;YAEA,OAAO;QACT;QAEA,IAAIN,QAAQI,IAAI,KAAK,QAAQ;YAC3BN,QAAQO,EAAE,GAAG;gBACXF,MAAM;gBACNC,MAAM;gBACNE,YAAY;YACd;YACA,OAAO;QACT;IACF;IAEA,IAAIT,QAAQU,MAAM,KAAK,QAAQ;QAC7BT,QAAQO,EAAE,GAAG;YACXF,MAAM;YACNC,MAAM;YACNI,eAAe;YACfF,YAAY;QACd;QAEA,OAAO;IACT;IAEAR,QAAQO,EAAE,GAAG;QACXF,MAAM;QACNC,MAAM;QACNE,YAAY;IACd;IAEA,OAAO;AACT,EAAC"}