@payloadcms/drizzle 3.7.1-canary.a7f8738 → 3.7.1-canary.bde7f89

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 (44) hide show
  1. package/dist/exports/postgres.d.ts +0 -2
  2. package/dist/exports/postgres.d.ts.map +1 -1
  3. package/dist/exports/postgres.js +0 -2
  4. package/dist/exports/postgres.js.map +1 -1
  5. package/dist/index.d.ts +0 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +0 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/postgres/init.d.ts.map +1 -1
  10. package/dist/postgres/init.js +3 -7
  11. package/dist/postgres/init.js.map +1 -1
  12. package/dist/postgres/schema/buildDrizzleTable.d.ts.map +1 -1
  13. package/dist/postgres/schema/buildDrizzleTable.js +7 -3
  14. package/dist/postgres/schema/buildDrizzleTable.js.map +1 -1
  15. package/dist/schema/build.js +4 -4
  16. package/dist/schema/build.js.map +1 -1
  17. package/dist/schema/buildDrizzleRelations.d.ts +2 -4
  18. package/dist/schema/buildDrizzleRelations.d.ts.map +1 -1
  19. package/dist/schema/buildDrizzleRelations.js +21 -18
  20. package/dist/schema/buildDrizzleRelations.js.map +1 -1
  21. package/dist/schema/traverseFields.js +9 -4
  22. package/dist/schema/traverseFields.js.map +1 -1
  23. package/dist/schema/withDefault.d.ts.map +1 -1
  24. package/dist/schema/withDefault.js +0 -6
  25. package/dist/schema/withDefault.js.map +1 -1
  26. package/dist/transform/read/traverseFields.d.ts.map +1 -1
  27. package/dist/transform/read/traverseFields.js +7 -0
  28. package/dist/transform/read/traverseFields.js.map +1 -1
  29. package/dist/types.d.ts +40 -15
  30. package/dist/types.d.ts.map +1 -1
  31. package/dist/types.js.map +1 -1
  32. package/package.json +3 -3
  33. package/dist/postgres/columnToCodeConverter.d.ts +0 -3
  34. package/dist/postgres/columnToCodeConverter.d.ts.map +0 -1
  35. package/dist/postgres/columnToCodeConverter.js +0 -64
  36. package/dist/postgres/columnToCodeConverter.js.map +0 -1
  37. package/dist/postgres/schema/withDefault.d.ts +0 -4
  38. package/dist/postgres/schema/withDefault.d.ts.map +0 -1
  39. package/dist/postgres/schema/withDefault.js +0 -24
  40. package/dist/postgres/schema/withDefault.js.map +0 -1
  41. package/dist/utilities/createSchemaGenerator.d.ts +0 -11
  42. package/dist/utilities/createSchemaGenerator.d.ts.map +0 -1
  43. package/dist/utilities/createSchemaGenerator.js +0 -216
  44. package/dist/utilities/createSchemaGenerator.js.map +0 -1
@@ -1,4 +1,3 @@
1
- export { columnToCodeConverter } from '../postgres/columnToCodeConverter.js';
2
1
  export { countDistinct } from '../postgres/countDistinct.js';
3
2
  export { createDatabase } from '../postgres/createDatabase.js';
4
3
  export { createExtensions } from '../postgres/createExtensions.js';
@@ -11,6 +10,5 @@ export { init } from '../postgres/init.js';
11
10
  export { insert } from '../postgres/insert.js';
12
11
  export { migratePostgresV2toV3 } from '../postgres/predefinedMigrations/v2-v3/index.js';
13
12
  export { requireDrizzleKit } from '../postgres/requireDrizzleKit.js';
14
- export { geometryColumn } from '../postgres/schema/geometryColumn.js';
15
13
  export * from '../postgres/types.js';
16
14
  //# 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,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
+ {"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,4 +1,3 @@
1
- export { columnToCodeConverter } from '../postgres/columnToCodeConverter.js';
2
1
  export { countDistinct } from '../postgres/countDistinct.js';
3
2
  export { createDatabase } from '../postgres/createDatabase.js';
4
3
  export { createExtensions } from '../postgres/createExtensions.js';
@@ -11,7 +10,6 @@ export { init } from '../postgres/init.js';
11
10
  export { insert } from '../postgres/insert.js';
12
11
  export { migratePostgresV2toV3 } from '../postgres/predefinedMigrations/v2-v3/index.js';
13
12
  export { requireDrizzleKit } from '../postgres/requireDrizzleKit.js';
14
- export { geometryColumn } from '../postgres/schema/geometryColumn.js';
15
13
  export * from '../postgres/types.js';
16
14
 
17
15
  //# sourceMappingURL=postgres.js.map
@@ -1 +1 @@
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"}
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"}
package/dist/index.d.ts CHANGED
@@ -38,7 +38,6 @@ export { updateVersion } from './updateVersion.js';
38
38
  export { upsertRow } from './upsertRow/index.js';
39
39
  export { buildCreateMigration } from './utilities/buildCreateMigration.js';
40
40
  export { buildIndexName } from './utilities/buildIndexName.js';
41
- export { createSchemaGenerator } from './utilities/createSchemaGenerator.js';
42
41
  export { executeSchemaHooks } from './utilities/executeSchemaHooks.js';
43
42
  export { extendDrizzleTable } from './utilities/extendDrizzleTable.js';
44
43
  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,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"}
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,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
@@ -37,7 +37,6 @@ export { updateVersion } from './updateVersion.js';
37
37
  export { upsertRow } from './upsertRow/index.js';
38
38
  export { buildCreateMigration } from './utilities/buildCreateMigration.js';
39
39
  export { buildIndexName } from './utilities/buildIndexName.js';
40
- export { createSchemaGenerator } from './utilities/createSchemaGenerator.js';
41
40
  export { executeSchemaHooks } from './utilities/executeSchemaHooks.js';
42
41
  export { extendDrizzleTable } from './utilities/extendDrizzleTable.js';
43
42
  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 { 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"}
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 { 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","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,kBAAkB,QAAQ,oCAAmC;AACtE,SAASC,kBAAkB,QAAQ,oCAAmC;AACtE,SAASC,eAAe,QAAQ,iCAAgC;AAChE,SAASC,aAAa,QAAQ,+BAA8B;AAC5D,SAASC,gCAAgC,QAAQ,kDAAiD"}
@@ -1 +1 @@
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,IA+BlB,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"}
@@ -23,13 +23,9 @@ export const init = async function init() {
23
23
  rawTable: this.rawTables[tableName]
24
24
  });
25
25
  }
26
- for(const tableName in this.rawRelations){
27
- buildDrizzleRelations({
28
- adapter: this,
29
- rawRelations: this.rawRelations[tableName],
30
- tableName
31
- });
32
- }
26
+ buildDrizzleRelations({
27
+ adapter: this
28
+ });
33
29
  await executeSchemaHooks({
34
30
  type: 'afterSchemaInit',
35
31
  adapter: this
@@ -1 +1 @@
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 for (const tableName in this.rawRelations) {\n buildDrizzleRelations({\n adapter: this,\n rawRelations: this.rawRelations[tableName],\n tableName,\n })\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;IAEA,IAAK,MAAMA,aAAa,IAAI,CAACd,YAAY,CAAE;QACzCN,sBAAsB;YACpBQ,SAAS,IAAI;YACbF,cAAc,IAAI,CAACA,YAAY,CAACc,UAAU;YAC1CA;QACF;IACF;IAEA,MAAMlB,mBAAmB;QAAEO,MAAM;QAAmBD,SAAS,IAAI;IAAC;AACpE,EAAC"}
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"}
@@ -1 +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,SA2HA,CAAA"}
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"}
@@ -16,7 +16,7 @@ export const buildDrizzleTable = ({ adapter, rawTable })=>{
16
16
  for (const [key, column] of Object.entries(rawTable.columns)){
17
17
  switch(column.type){
18
18
  case 'enum':
19
- if ('isLocale' in column) {
19
+ if ('locale' in column) {
20
20
  columns[key] = adapter.enums.enum__locales(column.name);
21
21
  } else {
22
22
  adapter.enums[column.enumName] = adapter.pgSchema.enum(column.enumName, column.options);
@@ -60,8 +60,12 @@ export const buildDrizzleTable = ({ adapter, rawTable })=>{
60
60
  if (column.notNull) {
61
61
  columns[key].notNull();
62
62
  }
63
- if (column.default) {
64
- columns[key].default(column.default);
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);
65
69
  }
66
70
  if (column.type === 'geometry') {
67
71
  if (!adapter.extensions.postgis) {
@@ -1 +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 ('isLocale' 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 (column.default) {\n columns[key].default(column.default)\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","extensions","postgis","extraConfig","cols","config","indexes","rawIndex","fn","unique","Array","isArray","on","length","map","colName","foreignKeys","rawForeignKey","foreignColumns","onUpdate"],"mappings":"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"}
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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"}
@@ -94,7 +94,7 @@ export const buildTable = ({ adapter, baseColumns = {}, baseForeignKeys = {}, ba
94
94
  localesColumns._locale = {
95
95
  name: '_locale',
96
96
  type: 'enum',
97
- isLocale: true,
97
+ locale: true,
98
98
  notNull: true
99
99
  };
100
100
  localesColumns._parentID = {
@@ -207,7 +207,7 @@ export const buildTable = ({ adapter, baseColumns = {}, baseForeignKeys = {}, ba
207
207
  columns.locale = {
208
208
  name: 'locale',
209
209
  type: 'enum',
210
- isLocale: true
210
+ locale: true
211
211
  };
212
212
  }
213
213
  const textsTableIndexes = {
@@ -304,7 +304,7 @@ export const buildTable = ({ adapter, baseColumns = {}, baseForeignKeys = {}, ba
304
304
  columns.locale = {
305
305
  name: 'locale',
306
306
  type: 'enum',
307
- isLocale: true
307
+ locale: true
308
308
  };
309
309
  }
310
310
  const numbersTableIndexes = {
@@ -395,7 +395,7 @@ export const buildTable = ({ adapter, baseColumns = {}, baseForeignKeys = {}, ba
395
395
  relationshipColumns.locale = {
396
396
  name: 'locale',
397
397
  type: 'enum',
398
- isLocale: true
398
+ locale: true
399
399
  };
400
400
  }
401
401
  const relationshipsTableName = `${tableName}${adapter.relationshipsSuffix}`;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/schema/build.ts"],"sourcesContent":["import type { FlattenedField } from 'payload'\n\nimport toSnakeCase from 'to-snake-case'\n\nimport type {\n DrizzleAdapter,\n IDType,\n RawColumn,\n RawForeignKey,\n RawIndex,\n RawRelation,\n RawTable,\n RelationMap,\n SetColumnID,\n} from '../types.js'\n\nimport { createTableName } from '../createTableName.js'\nimport { buildIndexName } from '../utilities/buildIndexName.js'\nimport { traverseFields } from './traverseFields.js'\n\ntype Args = {\n adapter: DrizzleAdapter\n baseColumns?: Record<string, RawColumn>\n /**\n * After table is created, run these functions to add extra config to the table\n * ie. indexes, multiple columns, etc\n */\n baseForeignKeys?: Record<string, RawForeignKey>\n /**\n * After table is created, run these functions to add extra config to the table\n * ie. indexes, multiple columns, etc\n */\n baseIndexes?: Record<string, RawIndex>\n buildNumbers?: boolean\n buildRelationships?: boolean\n disableNotNull: boolean\n disableRelsTableUnique?: boolean\n disableUnique: boolean\n fields: FlattenedField[]\n rootRelationships?: Set<string>\n rootRelationsToBuild?: RelationMap\n rootTableIDColType?: IDType\n rootTableName?: string\n rootUniqueRelationships?: Set<string>\n setColumnID: SetColumnID\n tableName: string\n timestamps?: boolean\n versions: boolean\n /**\n * Tracks whether or not this table is built\n * from the result of a localized array or block field at some point\n */\n withinLocalizedArrayOrBlock?: boolean\n}\n\ntype Result = {\n hasLocalizedManyNumberField: boolean\n hasLocalizedManyTextField: boolean\n hasLocalizedRelationshipField: boolean\n hasManyNumberField: 'index' | boolean\n hasManyTextField: 'index' | boolean\n relationsToBuild: RelationMap\n}\n\nexport const buildTable = ({\n adapter,\n baseColumns = {},\n baseForeignKeys = {},\n baseIndexes = {},\n disableNotNull,\n disableRelsTableUnique = false,\n disableUnique = false,\n fields,\n rootRelationships,\n rootRelationsToBuild,\n rootTableIDColType,\n rootTableName: incomingRootTableName,\n rootUniqueRelationships,\n setColumnID,\n tableName,\n timestamps,\n versions,\n withinLocalizedArrayOrBlock,\n}: Args): Result => {\n const isRoot = !incomingRootTableName\n const rootTableName = incomingRootTableName || tableName\n const columns: Record<string, RawColumn> = baseColumns\n const indexes: Record<string, RawIndex> = baseIndexes\n\n const localesColumns: Record<string, RawColumn> = {}\n const localesIndexes: Record<string, RawIndex> = {}\n let localesTable: RawTable\n let textsTable: RawTable\n let numbersTable: RawTable\n\n // Relationships to the base collection\n const relationships: Set<string> = rootRelationships || new Set()\n\n // Unique relationships to the base collection\n const uniqueRelationships: Set<string> = rootUniqueRelationships || new Set()\n\n let relationshipsTable: RawTable\n\n // Drizzle relations\n const relationsToBuild: RelationMap = new Map()\n\n const idColType: IDType = setColumnID({ adapter, columns, fields })\n\n const {\n hasLocalizedField,\n hasLocalizedManyNumberField,\n hasLocalizedManyTextField,\n hasLocalizedRelationshipField,\n hasManyNumberField,\n hasManyTextField,\n } = traverseFields({\n adapter,\n columns,\n disableNotNull,\n disableRelsTableUnique,\n disableUnique,\n fields,\n indexes,\n localesColumns,\n localesIndexes,\n newTableName: tableName,\n parentTableName: tableName,\n relationships,\n relationsToBuild,\n rootRelationsToBuild: rootRelationsToBuild || relationsToBuild,\n rootTableIDColType: rootTableIDColType || idColType,\n rootTableName,\n setColumnID,\n uniqueRelationships,\n versions,\n withinLocalizedArrayOrBlock,\n })\n\n // split the relationsToBuild by localized and non-localized\n const localizedRelations = new Map()\n const nonLocalizedRelations = new Map()\n\n relationsToBuild.forEach(({ type, localized, relationName, target }, key) => {\n const map = localized ? localizedRelations : nonLocalizedRelations\n map.set(key, { type, relationName, target })\n })\n\n if (timestamps) {\n columns.createdAt = {\n name: 'created_at',\n type: 'timestamp',\n defaultNow: true,\n mode: 'string',\n notNull: true,\n precision: 3,\n withTimezone: true,\n }\n\n columns.updatedAt = {\n name: 'updated_at',\n type: 'timestamp',\n defaultNow: true,\n mode: 'string',\n notNull: true,\n precision: 3,\n withTimezone: true,\n }\n }\n\n const table: RawTable = {\n name: tableName,\n columns,\n foreignKeys: baseForeignKeys,\n indexes,\n }\n\n adapter.rawTables[tableName] = table\n\n if (hasLocalizedField || localizedRelations.size) {\n const localeTableName = `${tableName}${adapter.localesSuffix}`\n localesColumns.id = {\n name: 'id',\n type: 'serial',\n primaryKey: true,\n }\n\n localesColumns._locale = {\n name: '_locale',\n type: 'enum',\n isLocale: true,\n notNull: true,\n }\n\n localesColumns._parentID = {\n name: '_parent_id',\n type: idColType,\n notNull: true,\n }\n\n localesIndexes._localeParent = {\n name: `${localeTableName}_locale_parent_id_unique`,\n on: ['_locale', '_parentID'],\n unique: true,\n }\n\n localesTable = {\n name: localeTableName,\n columns: localesColumns,\n foreignKeys: {\n _parentIdFk: {\n name: `${localeTableName}_parent_id_fk`,\n columns: ['_parentID'],\n foreignColumns: [\n {\n name: 'id',\n table: tableName,\n },\n ],\n onDelete: 'cascade',\n },\n },\n indexes: localesIndexes,\n }\n\n adapter.rawTables[localeTableName] = localesTable\n\n const localeRelations: Record<string, RawRelation> = {\n _parentID: {\n type: 'one',\n fields: [\n {\n name: '_parentID',\n table: localeTableName,\n },\n ],\n references: ['id'],\n relationName: '_locales',\n to: tableName,\n },\n }\n\n localizedRelations.forEach(({ type, target }, key) => {\n if (type === 'one') {\n localeRelations[key] = {\n type: 'one',\n fields: [\n {\n name: key,\n table: localeTableName,\n },\n ],\n references: ['id'],\n relationName: key,\n to: target,\n }\n }\n if (type === 'many') {\n localeRelations[key] = {\n type: 'many',\n relationName: key,\n to: target,\n }\n }\n })\n adapter.rawRelations[localeTableName] = localeRelations\n }\n\n if (isRoot) {\n if (hasManyTextField) {\n const textsTableName = `${rootTableName}_texts`\n\n const columns: Record<string, RawColumn> = {\n id: {\n name: 'id',\n type: 'serial',\n primaryKey: true,\n },\n order: {\n name: 'order',\n type: 'integer',\n notNull: true,\n },\n parent: {\n name: 'parent_id',\n type: idColType,\n notNull: true,\n },\n path: {\n name: 'path',\n type: 'varchar',\n\n notNull: true,\n },\n text: {\n name: 'text',\n type: 'varchar',\n },\n }\n\n if (hasLocalizedManyTextField) {\n columns.locale = {\n name: 'locale',\n type: 'enum',\n isLocale: true,\n }\n }\n\n const textsTableIndexes: Record<string, RawIndex> = {\n orderParentIdx: {\n name: `${textsTableName}_order_parent_idx`,\n on: ['order', 'parent'],\n },\n }\n\n if (hasManyTextField === 'index') {\n textsTableIndexes.text_idx = {\n name: `${textsTableName}_text_idx`,\n on: 'text',\n }\n }\n\n if (hasLocalizedManyTextField) {\n textsTableIndexes.localeParent = {\n name: `${textsTableName}_locale_parent`,\n on: ['locale', 'parent'],\n }\n }\n\n textsTable = {\n name: textsTableName,\n columns,\n foreignKeys: {\n parentFk: {\n name: `${textsTableName}_parent_fk`,\n columns: ['parent'],\n foreignColumns: [\n {\n name: 'id',\n table: tableName,\n },\n ],\n onDelete: 'cascade',\n },\n },\n indexes: textsTableIndexes,\n }\n\n adapter.rawTables[textsTableName] = textsTable\n\n adapter.rawRelations[textsTableName] = {\n parent: {\n type: 'one',\n fields: [\n {\n name: 'parent',\n table: textsTableName,\n },\n ],\n references: ['id'],\n relationName: '_texts',\n to: tableName,\n },\n }\n }\n\n if (hasManyNumberField) {\n const numbersTableName = `${rootTableName}_numbers`\n const columns: Record<string, RawColumn> = {\n id: {\n name: 'id',\n type: 'serial',\n primaryKey: true,\n },\n number: {\n name: 'number',\n type: 'numeric',\n },\n order: {\n name: 'order',\n type: 'integer',\n notNull: true,\n },\n parent: {\n name: 'parent_id',\n type: idColType,\n notNull: true,\n },\n path: {\n name: 'path',\n type: 'varchar',\n notNull: true,\n },\n }\n\n if (hasLocalizedManyNumberField) {\n columns.locale = {\n name: 'locale',\n type: 'enum',\n isLocale: true,\n }\n }\n\n const numbersTableIndexes: Record<string, RawIndex> = {\n orderParentIdx: { name: `${numbersTableName}_order_parent_idx`, on: ['order', 'parent'] },\n }\n\n if (hasManyNumberField === 'index') {\n numbersTableIndexes.numberIdx = {\n name: `${numbersTableName}_number_idx`,\n on: 'number',\n }\n }\n\n if (hasLocalizedManyNumberField) {\n numbersTableIndexes.localeParent = {\n name: `${numbersTableName}_locale_parent`,\n on: ['locale', 'parent'],\n }\n }\n\n numbersTable = {\n name: numbersTableName,\n columns,\n foreignKeys: {\n parentFk: {\n name: `${numbersTableName}_parent_fk`,\n columns: ['parent'],\n foreignColumns: [\n {\n name: 'id',\n table: tableName,\n },\n ],\n onDelete: 'cascade',\n },\n },\n indexes: numbersTableIndexes,\n }\n\n adapter.rawTables[numbersTableName] = numbersTable\n\n adapter.rawRelations[numbersTableName] = {\n parent: {\n type: 'one',\n fields: [\n {\n name: 'parent',\n table: numbersTableName,\n },\n ],\n references: ['id'],\n relationName: '_numbers',\n to: tableName,\n },\n }\n }\n\n if (relationships.size) {\n const relationshipColumns: Record<string, RawColumn> = {\n id: {\n name: 'id',\n type: 'serial',\n primaryKey: true,\n },\n order: {\n name: 'order',\n type: 'integer',\n },\n parent: {\n name: 'parent_id',\n type: idColType,\n notNull: true,\n },\n path: {\n name: 'path',\n type: 'varchar',\n notNull: true,\n },\n }\n\n if (hasLocalizedRelationshipField) {\n relationshipColumns.locale = {\n name: 'locale',\n type: 'enum',\n isLocale: true,\n }\n }\n\n const relationshipsTableName = `${tableName}${adapter.relationshipsSuffix}`\n\n const relationshipIndexes: Record<string, RawIndex> = {\n order: {\n name: `${relationshipsTableName}_order_idx`,\n on: 'order',\n },\n parentIdx: {\n name: `${relationshipsTableName}_parent_idx`,\n on: 'parent',\n },\n pathIdx: {\n name: `${relationshipsTableName}_path_idx`,\n on: 'path',\n },\n }\n\n if (hasLocalizedRelationshipField) {\n relationshipIndexes.localeIdx = {\n name: `${relationshipsTableName}_locale_idx`,\n on: 'locale',\n }\n }\n\n const relationshipForeignKeys: Record<string, RawForeignKey> = {\n parentFk: {\n name: `${relationshipsTableName}_parent_fk`,\n columns: ['parent'],\n foreignColumns: [\n {\n name: 'id',\n table: tableName,\n },\n ],\n onDelete: 'cascade',\n },\n }\n\n relationships.forEach((relationTo) => {\n const relationshipConfig = adapter.payload.collections[relationTo].config\n const formattedRelationTo = createTableName({\n adapter,\n config: relationshipConfig,\n throwValidationError: true,\n })\n let colType: 'integer' | 'numeric' | 'uuid' | 'varchar' =\n adapter.idType === 'uuid' ? 'uuid' : 'integer'\n const relatedCollectionCustomIDType =\n adapter.payload.collections[relationshipConfig.slug]?.customIDType\n\n if (relatedCollectionCustomIDType === 'number') {\n colType = 'numeric'\n }\n if (relatedCollectionCustomIDType === 'text') {\n colType = 'varchar'\n }\n\n const colName = `${relationTo}ID`\n\n relationshipColumns[colName] = {\n name: `${formattedRelationTo}_id`,\n type: colType,\n }\n\n relationshipForeignKeys[`${relationTo}IdFk`] = {\n name: `${relationshipsTableName}_${toSnakeCase(relationTo)}_fk`,\n columns: [colName],\n foreignColumns: [\n {\n name: 'id',\n table: formattedRelationTo,\n },\n ],\n onDelete: 'cascade',\n }\n\n const indexColumns = [colName]\n\n const unique = !disableUnique && uniqueRelationships.has(relationTo)\n\n if (unique) {\n indexColumns.push('path')\n }\n if (hasLocalizedRelationshipField) {\n indexColumns.push('locale')\n }\n\n const indexName = buildIndexName({\n name: `${relationshipsTableName}_${formattedRelationTo}_id`,\n adapter,\n })\n\n relationshipIndexes[indexName] = {\n name: indexName,\n on: indexColumns,\n unique,\n }\n })\n\n relationshipsTable = {\n name: relationshipsTableName,\n columns: relationshipColumns,\n foreignKeys: relationshipForeignKeys,\n indexes: relationshipIndexes,\n }\n\n adapter.rawTables[relationshipsTableName] = relationshipsTable\n\n const relationshipsTableRelations: Record<string, RawRelation> = {\n parent: {\n type: 'one',\n fields: [\n {\n name: 'parent',\n table: relationshipsTableName,\n },\n ],\n references: ['id'],\n relationName: '_rels',\n to: tableName,\n },\n }\n\n relationships.forEach((relationTo) => {\n const relatedTableName = createTableName({\n adapter,\n config: adapter.payload.collections[relationTo].config,\n throwValidationError: true,\n })\n const idColumnName = `${relationTo}ID`\n\n relationshipsTableRelations[idColumnName] = {\n type: 'one',\n fields: [\n {\n name: idColumnName,\n table: relationshipsTableName,\n },\n ],\n references: ['id'],\n relationName: relationTo,\n to: relatedTableName,\n }\n })\n adapter.rawRelations[relationshipsTableName] = relationshipsTableRelations\n }\n }\n\n const tableRelations: Record<string, RawRelation> = {}\n\n nonLocalizedRelations.forEach(({ type, relationName, target }, key) => {\n if (type === 'one') {\n tableRelations[key] = {\n type: 'one',\n fields: [\n {\n name: key,\n table: tableName,\n },\n ],\n references: ['id'],\n relationName: key,\n to: target,\n }\n }\n if (type === 'many') {\n tableRelations[key] = {\n type: 'many',\n relationName: relationName || key,\n to: target,\n }\n }\n })\n\n if (hasLocalizedField) {\n tableRelations._locales = {\n type: 'many',\n relationName: '_locales',\n to: localesTable.name,\n }\n }\n\n if (isRoot && textsTable) {\n tableRelations._texts = {\n type: 'many',\n relationName: '_texts',\n to: textsTable.name,\n }\n }\n\n if (isRoot && numbersTable) {\n tableRelations._numbers = {\n type: 'many',\n relationName: '_numbers',\n to: numbersTable.name,\n }\n }\n\n if (relationships.size && relationshipsTable) {\n tableRelations._rels = {\n type: 'many',\n relationName: '_rels',\n to: relationshipsTable.name,\n }\n }\n\n adapter.rawRelations[tableName] = tableRelations\n\n return {\n hasLocalizedManyNumberField,\n hasLocalizedManyTextField,\n hasLocalizedRelationshipField,\n hasManyNumberField,\n hasManyTextField,\n relationsToBuild,\n }\n}\n"],"names":["toSnakeCase","createTableName","buildIndexName","traverseFields","buildTable","adapter","baseColumns","baseForeignKeys","baseIndexes","disableNotNull","disableRelsTableUnique","disableUnique","fields","rootRelationships","rootRelationsToBuild","rootTableIDColType","rootTableName","incomingRootTableName","rootUniqueRelationships","setColumnID","tableName","timestamps","versions","withinLocalizedArrayOrBlock","isRoot","columns","indexes","localesColumns","localesIndexes","localesTable","textsTable","numbersTable","relationships","Set","uniqueRelationships","relationshipsTable","relationsToBuild","Map","idColType","hasLocalizedField","hasLocalizedManyNumberField","hasLocalizedManyTextField","hasLocalizedRelationshipField","hasManyNumberField","hasManyTextField","newTableName","parentTableName","localizedRelations","nonLocalizedRelations","forEach","type","localized","relationName","target","key","map","set","createdAt","name","defaultNow","mode","notNull","precision","withTimezone","updatedAt","table","foreignKeys","rawTables","size","localeTableName","localesSuffix","id","primaryKey","_locale","isLocale","_parentID","_localeParent","on","unique","_parentIdFk","foreignColumns","onDelete","localeRelations","references","to","rawRelations","textsTableName","order","parent","path","text","locale","textsTableIndexes","orderParentIdx","text_idx","localeParent","parentFk","numbersTableName","number","numbersTableIndexes","numberIdx","relationshipColumns","relationshipsTableName","relationshipsSuffix","relationshipIndexes","parentIdx","pathIdx","localeIdx","relationshipForeignKeys","relationTo","relationshipConfig","payload","collections","config","formattedRelationTo","throwValidationError","colType","idType","relatedCollectionCustomIDType","slug","customIDType","colName","indexColumns","has","push","indexName","relationshipsTableRelations","relatedTableName","idColumnName","tableRelations","_locales","_texts","_numbers","_rels"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/schema/build.ts"],"sourcesContent":["import type { FlattenedField } from 'payload'\n\nimport toSnakeCase from 'to-snake-case'\n\nimport type {\n DrizzleAdapter,\n IDType,\n RawColumn,\n RawForeignKey,\n RawIndex,\n RawRelation,\n RawTable,\n RelationMap,\n SetColumnID,\n} from '../types.js'\n\nimport { createTableName } from '../createTableName.js'\nimport { buildIndexName } from '../utilities/buildIndexName.js'\nimport { traverseFields } from './traverseFields.js'\n\ntype Args = {\n adapter: DrizzleAdapter\n baseColumns?: Record<string, RawColumn>\n /**\n * After table is created, run these functions to add extra config to the table\n * ie. indexes, multiple columns, etc\n */\n baseForeignKeys?: Record<string, RawForeignKey>\n /**\n * After table is created, run these functions to add extra config to the table\n * ie. indexes, multiple columns, etc\n */\n baseIndexes?: Record<string, RawIndex>\n buildNumbers?: boolean\n buildRelationships?: boolean\n disableNotNull: boolean\n disableRelsTableUnique?: boolean\n disableUnique: boolean\n fields: FlattenedField[]\n rootRelationships?: Set<string>\n rootRelationsToBuild?: RelationMap\n rootTableIDColType?: IDType\n rootTableName?: string\n rootUniqueRelationships?: Set<string>\n setColumnID: SetColumnID\n tableName: string\n timestamps?: boolean\n versions: boolean\n /**\n * Tracks whether or not this table is built\n * from the result of a localized array or block field at some point\n */\n withinLocalizedArrayOrBlock?: boolean\n}\n\ntype Result = {\n hasLocalizedManyNumberField: boolean\n hasLocalizedManyTextField: boolean\n hasLocalizedRelationshipField: boolean\n hasManyNumberField: 'index' | boolean\n hasManyTextField: 'index' | boolean\n relationsToBuild: RelationMap\n}\n\nexport const buildTable = ({\n adapter,\n baseColumns = {},\n baseForeignKeys = {},\n baseIndexes = {},\n disableNotNull,\n disableRelsTableUnique = false,\n disableUnique = false,\n fields,\n rootRelationships,\n rootRelationsToBuild,\n rootTableIDColType,\n rootTableName: incomingRootTableName,\n rootUniqueRelationships,\n setColumnID,\n tableName,\n timestamps,\n versions,\n withinLocalizedArrayOrBlock,\n}: Args): Result => {\n const isRoot = !incomingRootTableName\n const rootTableName = incomingRootTableName || tableName\n const columns: Record<string, RawColumn> = baseColumns\n const indexes: Record<string, RawIndex> = baseIndexes\n\n const localesColumns: Record<string, RawColumn> = {}\n const localesIndexes: Record<string, RawIndex> = {}\n let localesTable: RawTable\n let textsTable: RawTable\n let numbersTable: RawTable\n\n // Relationships to the base collection\n const relationships: Set<string> = rootRelationships || new Set()\n\n // Unique relationships to the base collection\n const uniqueRelationships: Set<string> = rootUniqueRelationships || new Set()\n\n let relationshipsTable: RawTable\n\n // Drizzle relations\n const relationsToBuild: RelationMap = new Map()\n\n const idColType: IDType = setColumnID({ adapter, columns, fields })\n\n const {\n hasLocalizedField,\n hasLocalizedManyNumberField,\n hasLocalizedManyTextField,\n hasLocalizedRelationshipField,\n hasManyNumberField,\n hasManyTextField,\n } = traverseFields({\n adapter,\n columns,\n disableNotNull,\n disableRelsTableUnique,\n disableUnique,\n fields,\n indexes,\n localesColumns,\n localesIndexes,\n newTableName: tableName,\n parentTableName: tableName,\n relationships,\n relationsToBuild,\n rootRelationsToBuild: rootRelationsToBuild || relationsToBuild,\n rootTableIDColType: rootTableIDColType || idColType,\n rootTableName,\n setColumnID,\n uniqueRelationships,\n versions,\n withinLocalizedArrayOrBlock,\n })\n\n // split the relationsToBuild by localized and non-localized\n const localizedRelations = new Map()\n const nonLocalizedRelations = new Map()\n\n relationsToBuild.forEach(({ type, localized, relationName, target }, key) => {\n const map = localized ? localizedRelations : nonLocalizedRelations\n map.set(key, { type, relationName, target })\n })\n\n if (timestamps) {\n columns.createdAt = {\n name: 'created_at',\n type: 'timestamp',\n defaultNow: true,\n mode: 'string',\n notNull: true,\n precision: 3,\n withTimezone: true,\n }\n\n columns.updatedAt = {\n name: 'updated_at',\n type: 'timestamp',\n defaultNow: true,\n mode: 'string',\n notNull: true,\n precision: 3,\n withTimezone: true,\n }\n }\n\n const table: RawTable = {\n name: tableName,\n columns,\n foreignKeys: baseForeignKeys,\n indexes,\n }\n\n adapter.rawTables[tableName] = table\n\n if (hasLocalizedField || localizedRelations.size) {\n const localeTableName = `${tableName}${adapter.localesSuffix}`\n localesColumns.id = {\n name: 'id',\n type: 'serial',\n primaryKey: true,\n }\n\n localesColumns._locale = {\n name: '_locale',\n type: 'enum',\n locale: true,\n notNull: true,\n }\n\n localesColumns._parentID = {\n name: '_parent_id',\n type: idColType,\n notNull: true,\n }\n\n localesIndexes._localeParent = {\n name: `${localeTableName}_locale_parent_id_unique`,\n on: ['_locale', '_parentID'],\n unique: true,\n }\n\n localesTable = {\n name: localeTableName,\n columns: localesColumns,\n foreignKeys: {\n _parentIdFk: {\n name: `${localeTableName}_parent_id_fk`,\n columns: ['_parentID'],\n foreignColumns: [\n {\n name: 'id',\n table: tableName,\n },\n ],\n onDelete: 'cascade',\n },\n },\n indexes: localesIndexes,\n }\n\n adapter.rawTables[localeTableName] = localesTable\n\n const localeRelations: Record<string, RawRelation> = {\n _parentID: {\n type: 'one',\n fields: [\n {\n name: '_parentID',\n table: localeTableName,\n },\n ],\n references: ['id'],\n relationName: '_locales',\n to: tableName,\n },\n }\n\n localizedRelations.forEach(({ type, target }, key) => {\n if (type === 'one') {\n localeRelations[key] = {\n type: 'one',\n fields: [\n {\n name: key,\n table: localeTableName,\n },\n ],\n references: ['id'],\n relationName: key,\n to: target,\n }\n }\n if (type === 'many') {\n localeRelations[key] = {\n type: 'many',\n relationName: key,\n to: target,\n }\n }\n })\n adapter.rawRelations[localeTableName] = localeRelations\n }\n\n if (isRoot) {\n if (hasManyTextField) {\n const textsTableName = `${rootTableName}_texts`\n\n const columns: Record<string, RawColumn> = {\n id: {\n name: 'id',\n type: 'serial',\n primaryKey: true,\n },\n order: {\n name: 'order',\n type: 'integer',\n notNull: true,\n },\n parent: {\n name: 'parent_id',\n type: idColType,\n notNull: true,\n },\n path: {\n name: 'path',\n type: 'varchar',\n\n notNull: true,\n },\n text: {\n name: 'text',\n type: 'varchar',\n },\n }\n\n if (hasLocalizedManyTextField) {\n columns.locale = {\n name: 'locale',\n type: 'enum',\n locale: true,\n }\n }\n\n const textsTableIndexes: Record<string, RawIndex> = {\n orderParentIdx: {\n name: `${textsTableName}_order_parent_idx`,\n on: ['order', 'parent'],\n },\n }\n\n if (hasManyTextField === 'index') {\n textsTableIndexes.text_idx = {\n name: `${textsTableName}_text_idx`,\n on: 'text',\n }\n }\n\n if (hasLocalizedManyTextField) {\n textsTableIndexes.localeParent = {\n name: `${textsTableName}_locale_parent`,\n on: ['locale', 'parent'],\n }\n }\n\n textsTable = {\n name: textsTableName,\n columns,\n foreignKeys: {\n parentFk: {\n name: `${textsTableName}_parent_fk`,\n columns: ['parent'],\n foreignColumns: [\n {\n name: 'id',\n table: tableName,\n },\n ],\n onDelete: 'cascade',\n },\n },\n indexes: textsTableIndexes,\n }\n\n adapter.rawTables[textsTableName] = textsTable\n\n adapter.rawRelations[textsTableName] = {\n parent: {\n type: 'one',\n fields: [\n {\n name: 'parent',\n table: textsTableName,\n },\n ],\n references: ['id'],\n relationName: '_texts',\n to: tableName,\n },\n }\n }\n\n if (hasManyNumberField) {\n const numbersTableName = `${rootTableName}_numbers`\n const columns: Record<string, RawColumn> = {\n id: {\n name: 'id',\n type: 'serial',\n primaryKey: true,\n },\n number: {\n name: 'number',\n type: 'numeric',\n },\n order: {\n name: 'order',\n type: 'integer',\n notNull: true,\n },\n parent: {\n name: 'parent_id',\n type: idColType,\n notNull: true,\n },\n path: {\n name: 'path',\n type: 'varchar',\n notNull: true,\n },\n }\n\n if (hasLocalizedManyNumberField) {\n columns.locale = {\n name: 'locale',\n type: 'enum',\n locale: true,\n }\n }\n\n const numbersTableIndexes: Record<string, RawIndex> = {\n orderParentIdx: { name: `${numbersTableName}_order_parent_idx`, on: ['order', 'parent'] },\n }\n\n if (hasManyNumberField === 'index') {\n numbersTableIndexes.numberIdx = {\n name: `${numbersTableName}_number_idx`,\n on: 'number',\n }\n }\n\n if (hasLocalizedManyNumberField) {\n numbersTableIndexes.localeParent = {\n name: `${numbersTableName}_locale_parent`,\n on: ['locale', 'parent'],\n }\n }\n\n numbersTable = {\n name: numbersTableName,\n columns,\n foreignKeys: {\n parentFk: {\n name: `${numbersTableName}_parent_fk`,\n columns: ['parent'],\n foreignColumns: [\n {\n name: 'id',\n table: tableName,\n },\n ],\n onDelete: 'cascade',\n },\n },\n indexes: numbersTableIndexes,\n }\n\n adapter.rawTables[numbersTableName] = numbersTable\n\n adapter.rawRelations[numbersTableName] = {\n parent: {\n type: 'one',\n fields: [\n {\n name: 'parent',\n table: numbersTableName,\n },\n ],\n references: ['id'],\n relationName: '_numbers',\n to: tableName,\n },\n }\n }\n\n if (relationships.size) {\n const relationshipColumns: Record<string, RawColumn> = {\n id: {\n name: 'id',\n type: 'serial',\n primaryKey: true,\n },\n order: {\n name: 'order',\n type: 'integer',\n },\n parent: {\n name: 'parent_id',\n type: idColType,\n notNull: true,\n },\n path: {\n name: 'path',\n type: 'varchar',\n notNull: true,\n },\n }\n\n if (hasLocalizedRelationshipField) {\n relationshipColumns.locale = {\n name: 'locale',\n type: 'enum',\n locale: true,\n }\n }\n\n const relationshipsTableName = `${tableName}${adapter.relationshipsSuffix}`\n\n const relationshipIndexes: Record<string, RawIndex> = {\n order: {\n name: `${relationshipsTableName}_order_idx`,\n on: 'order',\n },\n parentIdx: {\n name: `${relationshipsTableName}_parent_idx`,\n on: 'parent',\n },\n pathIdx: {\n name: `${relationshipsTableName}_path_idx`,\n on: 'path',\n },\n }\n\n if (hasLocalizedRelationshipField) {\n relationshipIndexes.localeIdx = {\n name: `${relationshipsTableName}_locale_idx`,\n on: 'locale',\n }\n }\n\n const relationshipForeignKeys: Record<string, RawForeignKey> = {\n parentFk: {\n name: `${relationshipsTableName}_parent_fk`,\n columns: ['parent'],\n foreignColumns: [\n {\n name: 'id',\n table: tableName,\n },\n ],\n onDelete: 'cascade',\n },\n }\n\n relationships.forEach((relationTo) => {\n const relationshipConfig = adapter.payload.collections[relationTo].config\n const formattedRelationTo = createTableName({\n adapter,\n config: relationshipConfig,\n throwValidationError: true,\n })\n let colType: 'integer' | 'numeric' | 'uuid' | 'varchar' =\n adapter.idType === 'uuid' ? 'uuid' : 'integer'\n const relatedCollectionCustomIDType =\n adapter.payload.collections[relationshipConfig.slug]?.customIDType\n\n if (relatedCollectionCustomIDType === 'number') {\n colType = 'numeric'\n }\n if (relatedCollectionCustomIDType === 'text') {\n colType = 'varchar'\n }\n\n const colName = `${relationTo}ID`\n\n relationshipColumns[colName] = {\n name: `${formattedRelationTo}_id`,\n type: colType,\n }\n\n relationshipForeignKeys[`${relationTo}IdFk`] = {\n name: `${relationshipsTableName}_${toSnakeCase(relationTo)}_fk`,\n columns: [colName],\n foreignColumns: [\n {\n name: 'id',\n table: formattedRelationTo,\n },\n ],\n onDelete: 'cascade',\n }\n\n const indexColumns = [colName]\n\n const unique = !disableUnique && uniqueRelationships.has(relationTo)\n\n if (unique) {\n indexColumns.push('path')\n }\n if (hasLocalizedRelationshipField) {\n indexColumns.push('locale')\n }\n\n const indexName = buildIndexName({\n name: `${relationshipsTableName}_${formattedRelationTo}_id`,\n adapter,\n })\n\n relationshipIndexes[indexName] = {\n name: indexName,\n on: indexColumns,\n unique,\n }\n })\n\n relationshipsTable = {\n name: relationshipsTableName,\n columns: relationshipColumns,\n foreignKeys: relationshipForeignKeys,\n indexes: relationshipIndexes,\n }\n\n adapter.rawTables[relationshipsTableName] = relationshipsTable\n\n const relationshipsTableRelations: Record<string, RawRelation> = {\n parent: {\n type: 'one',\n fields: [\n {\n name: 'parent',\n table: relationshipsTableName,\n },\n ],\n references: ['id'],\n relationName: '_rels',\n to: tableName,\n },\n }\n\n relationships.forEach((relationTo) => {\n const relatedTableName = createTableName({\n adapter,\n config: adapter.payload.collections[relationTo].config,\n throwValidationError: true,\n })\n const idColumnName = `${relationTo}ID`\n\n relationshipsTableRelations[idColumnName] = {\n type: 'one',\n fields: [\n {\n name: idColumnName,\n table: relationshipsTableName,\n },\n ],\n references: ['id'],\n relationName: relationTo,\n to: relatedTableName,\n }\n })\n adapter.rawRelations[relationshipsTableName] = relationshipsTableRelations\n }\n }\n\n const tableRelations: Record<string, RawRelation> = {}\n\n nonLocalizedRelations.forEach(({ type, relationName, target }, key) => {\n if (type === 'one') {\n tableRelations[key] = {\n type: 'one',\n fields: [\n {\n name: key,\n table: tableName,\n },\n ],\n references: ['id'],\n relationName: key,\n to: target,\n }\n }\n if (type === 'many') {\n tableRelations[key] = {\n type: 'many',\n relationName: relationName || key,\n to: target,\n }\n }\n })\n\n if (hasLocalizedField) {\n tableRelations._locales = {\n type: 'many',\n relationName: '_locales',\n to: localesTable.name,\n }\n }\n\n if (isRoot && textsTable) {\n tableRelations._texts = {\n type: 'many',\n relationName: '_texts',\n to: textsTable.name,\n }\n }\n\n if (isRoot && numbersTable) {\n tableRelations._numbers = {\n type: 'many',\n relationName: '_numbers',\n to: numbersTable.name,\n }\n }\n\n if (relationships.size && relationshipsTable) {\n tableRelations._rels = {\n type: 'many',\n relationName: '_rels',\n to: relationshipsTable.name,\n }\n }\n\n adapter.rawRelations[tableName] = tableRelations\n\n return {\n hasLocalizedManyNumberField,\n hasLocalizedManyTextField,\n hasLocalizedRelationshipField,\n hasManyNumberField,\n hasManyTextField,\n relationsToBuild,\n }\n}\n"],"names":["toSnakeCase","createTableName","buildIndexName","traverseFields","buildTable","adapter","baseColumns","baseForeignKeys","baseIndexes","disableNotNull","disableRelsTableUnique","disableUnique","fields","rootRelationships","rootRelationsToBuild","rootTableIDColType","rootTableName","incomingRootTableName","rootUniqueRelationships","setColumnID","tableName","timestamps","versions","withinLocalizedArrayOrBlock","isRoot","columns","indexes","localesColumns","localesIndexes","localesTable","textsTable","numbersTable","relationships","Set","uniqueRelationships","relationshipsTable","relationsToBuild","Map","idColType","hasLocalizedField","hasLocalizedManyNumberField","hasLocalizedManyTextField","hasLocalizedRelationshipField","hasManyNumberField","hasManyTextField","newTableName","parentTableName","localizedRelations","nonLocalizedRelations","forEach","type","localized","relationName","target","key","map","set","createdAt","name","defaultNow","mode","notNull","precision","withTimezone","updatedAt","table","foreignKeys","rawTables","size","localeTableName","localesSuffix","id","primaryKey","_locale","locale","_parentID","_localeParent","on","unique","_parentIdFk","foreignColumns","onDelete","localeRelations","references","to","rawRelations","textsTableName","order","parent","path","text","textsTableIndexes","orderParentIdx","text_idx","localeParent","parentFk","numbersTableName","number","numbersTableIndexes","numberIdx","relationshipColumns","relationshipsTableName","relationshipsSuffix","relationshipIndexes","parentIdx","pathIdx","localeIdx","relationshipForeignKeys","relationTo","relationshipConfig","payload","collections","config","formattedRelationTo","throwValidationError","colType","idType","relatedCollectionCustomIDType","slug","customIDType","colName","indexColumns","has","push","indexName","relationshipsTableRelations","relatedTableName","idColumnName","tableRelations","_locales","_texts","_numbers","_rels"],"mappings":"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"}
@@ -1,7 +1,5 @@
1
- import type { DrizzleAdapter, RawRelation } from '../types.js';
2
- export declare const buildDrizzleRelations: ({ adapter, rawRelations, tableName, }: {
1
+ import type { DrizzleAdapter } from '../types.js';
2
+ export declare const buildDrizzleRelations: ({ adapter }: {
3
3
  adapter: DrizzleAdapter;
4
- rawRelations: Record<string, RawRelation>;
5
- tableName: string;
6
4
  }) => void;
7
5
  //# sourceMappingURL=buildDrizzleRelations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildDrizzleRelations.d.ts","sourceRoot":"","sources":["../../src/schema/buildDrizzleRelations.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9D,eAAO,MAAM,qBAAqB,0CAI/B;IACD,OAAO,EAAE,cAAc,CAAA;IACvB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IACzC,SAAS,EAAE,MAAM,CAAA;CAClB,SA2BA,CAAA"}
1
+ {"version":3,"file":"buildDrizzleRelations.d.ts","sourceRoot":"","sources":["../../src/schema/buildDrizzleRelations.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,eAAO,MAAM,qBAAqB,gBAAiB;IAAE,OAAO,EAAE,cAAc,CAAA;CAAE,SAiC7E,CAAA"}
@@ -1,23 +1,26 @@
1
1
  import { relations } from 'drizzle-orm';
2
- export const buildDrizzleRelations = ({ adapter, rawRelations, tableName })=>{
3
- adapter.relations[`relations_${tableName}`] = relations(adapter.tables[tableName], ({ many, one })=>{
4
- const result = {};
5
- for(const key in rawRelations){
6
- const relation = rawRelations[key];
7
- if (relation.type === 'one') {
8
- result[key] = one(adapter.tables[relation.to], {
9
- fields: relation.fields.map((field)=>adapter.tables[field.table][field.name]),
10
- references: relation.references.map((reference)=>adapter.tables[relation.to][reference]),
11
- relationName: relation.relationName
12
- });
13
- } else {
14
- result[key] = many(adapter.tables[relation.to], {
15
- relationName: relation.relationName
16
- });
2
+ export const buildDrizzleRelations = ({ adapter })=>{
3
+ for(const tableName in adapter.rawRelations){
4
+ const rawRelations = adapter.rawRelations[tableName];
5
+ adapter.relations[`relations_${tableName}`] = relations(adapter.tables[tableName], ({ many, one })=>{
6
+ const result = {};
7
+ for(const key in rawRelations){
8
+ const relation = rawRelations[key];
9
+ if (relation.type === 'one') {
10
+ result[key] = one(adapter.tables[relation.to], {
11
+ fields: relation.fields.map((field)=>adapter.tables[field.table][field.name]),
12
+ references: relation.references.map((reference)=>adapter.tables[relation.to][reference]),
13
+ relationName: relation.relationName
14
+ });
15
+ } else {
16
+ result[key] = many(adapter.tables[relation.to], {
17
+ relationName: relation.relationName
18
+ });
19
+ }
17
20
  }
18
- }
19
- return result;
20
- });
21
+ return result;
22
+ });
23
+ }
21
24
  };
22
25
 
23
26
  //# sourceMappingURL=buildDrizzleRelations.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/schema/buildDrizzleRelations.ts"],"sourcesContent":["import type { Relation } from 'drizzle-orm'\n\nimport { relations } from 'drizzle-orm'\n\nimport type { DrizzleAdapter, RawRelation } from '../types.js'\n\nexport const buildDrizzleRelations = ({\n adapter,\n rawRelations,\n tableName,\n}: {\n adapter: DrizzleAdapter\n rawRelations: Record<string, RawRelation>\n tableName: string\n}) => {\n adapter.relations[`relations_${tableName}`] = relations(\n adapter.tables[tableName],\n ({ many, one }) => {\n const result: Record<string, Relation<string>> = {}\n\n for (const key in rawRelations) {\n const relation = rawRelations[key]\n\n if (relation.type === 'one') {\n result[key] = one(adapter.tables[relation.to], {\n fields: relation.fields.map((field) => adapter.tables[field.table][field.name]) as any,\n references: relation.references.map(\n (reference) => adapter.tables[relation.to][reference],\n ),\n relationName: relation.relationName,\n })\n } else {\n result[key] = many(adapter.tables[relation.to], {\n relationName: relation.relationName,\n })\n }\n }\n\n return result\n },\n )\n}\n"],"names":["relations","buildDrizzleRelations","adapter","rawRelations","tableName","tables","many","one","result","key","relation","type","to","fields","map","field","table","name","references","reference","relationName"],"mappings":"AAEA,SAASA,SAAS,QAAQ,cAAa;AAIvC,OAAO,MAAMC,wBAAwB,CAAC,EACpCC,OAAO,EACPC,YAAY,EACZC,SAAS,EAKV;IACCF,QAAQF,SAAS,CAAC,CAAC,UAAU,EAAEI,WAAW,CAAC,GAAGJ,UAC5CE,QAAQG,MAAM,CAACD,UAAU,EACzB,CAAC,EAAEE,IAAI,EAAEC,GAAG,EAAE;QACZ,MAAMC,SAA2C,CAAC;QAElD,IAAK,MAAMC,OAAON,aAAc;YAC9B,MAAMO,WAAWP,YAAY,CAACM,IAAI;YAElC,IAAIC,SAASC,IAAI,KAAK,OAAO;gBAC3BH,MAAM,CAACC,IAAI,GAAGF,IAAIL,QAAQG,MAAM,CAACK,SAASE,EAAE,CAAC,EAAE;oBAC7CC,QAAQH,SAASG,MAAM,CAACC,GAAG,CAAC,CAACC,QAAUb,QAAQG,MAAM,CAACU,MAAMC,KAAK,CAAC,CAACD,MAAME,IAAI,CAAC;oBAC9EC,YAAYR,SAASQ,UAAU,CAACJ,GAAG,CACjC,CAACK,YAAcjB,QAAQG,MAAM,CAACK,SAASE,EAAE,CAAC,CAACO,UAAU;oBAEvDC,cAAcV,SAASU,YAAY;gBACrC;YACF,OAAO;gBACLZ,MAAM,CAACC,IAAI,GAAGH,KAAKJ,QAAQG,MAAM,CAACK,SAASE,EAAE,CAAC,EAAE;oBAC9CQ,cAAcV,SAASU,YAAY;gBACrC;YACF;QACF;QAEA,OAAOZ;IACT;AAEJ,EAAC"}
1
+ {"version":3,"sources":["../../src/schema/buildDrizzleRelations.ts"],"sourcesContent":["import type { Relation } from 'drizzle-orm'\n\nimport { relations } from 'drizzle-orm'\n\nimport type { DrizzleAdapter } from '../types.js'\n\nexport const buildDrizzleRelations = ({ adapter }: { adapter: DrizzleAdapter }) => {\n for (const tableName in adapter.rawRelations) {\n const rawRelations = adapter.rawRelations[tableName]\n\n adapter.relations[`relations_${tableName}`] = relations(\n adapter.tables[tableName],\n ({ many, one }) => {\n const result: Record<string, Relation<string>> = {}\n\n for (const key in rawRelations) {\n const relation = rawRelations[key]\n\n if (relation.type === 'one') {\n result[key] = one(adapter.tables[relation.to], {\n fields: relation.fields.map(\n (field) => adapter.tables[field.table][field.name],\n ) as any,\n references: relation.references.map(\n (reference) => adapter.tables[relation.to][reference],\n ),\n relationName: relation.relationName,\n })\n } else {\n result[key] = many(adapter.tables[relation.to], {\n relationName: relation.relationName,\n })\n }\n }\n\n return result\n },\n )\n }\n}\n"],"names":["relations","buildDrizzleRelations","adapter","tableName","rawRelations","tables","many","one","result","key","relation","type","to","fields","map","field","table","name","references","reference","relationName"],"mappings":"AAEA,SAASA,SAAS,QAAQ,cAAa;AAIvC,OAAO,MAAMC,wBAAwB,CAAC,EAAEC,OAAO,EAA+B;IAC5E,IAAK,MAAMC,aAAaD,QAAQE,YAAY,CAAE;QAC5C,MAAMA,eAAeF,QAAQE,YAAY,CAACD,UAAU;QAEpDD,QAAQF,SAAS,CAAC,CAAC,UAAU,EAAEG,WAAW,CAAC,GAAGH,UAC5CE,QAAQG,MAAM,CAACF,UAAU,EACzB,CAAC,EAAEG,IAAI,EAAEC,GAAG,EAAE;YACZ,MAAMC,SAA2C,CAAC;YAElD,IAAK,MAAMC,OAAOL,aAAc;gBAC9B,MAAMM,WAAWN,YAAY,CAACK,IAAI;gBAElC,IAAIC,SAASC,IAAI,KAAK,OAAO;oBAC3BH,MAAM,CAACC,IAAI,GAAGF,IAAIL,QAAQG,MAAM,CAACK,SAASE,EAAE,CAAC,EAAE;wBAC7CC,QAAQH,SAASG,MAAM,CAACC,GAAG,CACzB,CAACC,QAAUb,QAAQG,MAAM,CAACU,MAAMC,KAAK,CAAC,CAACD,MAAME,IAAI,CAAC;wBAEpDC,YAAYR,SAASQ,UAAU,CAACJ,GAAG,CACjC,CAACK,YAAcjB,QAAQG,MAAM,CAACK,SAASE,EAAE,CAAC,CAACO,UAAU;wBAEvDC,cAAcV,SAASU,YAAY;oBACrC;gBACF,OAAO;oBACLZ,MAAM,CAACC,IAAI,GAAGH,KAAKJ,QAAQG,MAAM,CAACK,SAASE,EAAE,CAAC,EAAE;wBAC9CQ,cAAcV,SAASU,YAAY;oBACrC;gBACF;YACF;YAEA,OAAOZ;QACT;IAEJ;AACF,EAAC"}
@@ -18,7 +18,12 @@ export const traverseFields = ({ adapter, columnPrefix, columns, disableNotNull,
18
18
  let hasLocalizedManyNumberField = false;
19
19
  let parentIDColType = 'integer';
20
20
  const idColumn = columns.id;
21
- if (idColumn) {
21
+ if (idColumn && [
22
+ 'numeric',
23
+ 'text',
24
+ 'uuid',
25
+ 'varchar'
26
+ ].includes(idColumn.type)) {
22
27
  parentIDColType = idColumn.type;
23
28
  }
24
29
  fields.forEach((field)=>{
@@ -124,7 +129,7 @@ export const traverseFields = ({ adapter, columnPrefix, columns, disableNotNull,
124
129
  baseColumns._locale = {
125
130
  name: '_locale',
126
131
  type: 'enum',
127
- isLocale: true,
132
+ locale: true,
128
133
  notNull: true
129
134
  };
130
135
  baseIndexes._localeIdx = {
@@ -294,7 +299,7 @@ export const traverseFields = ({ adapter, columnPrefix, columns, disableNotNull,
294
299
  baseColumns._locale = {
295
300
  name: '_locale',
296
301
  type: 'enum',
297
- isLocale: true,
302
+ locale: true,
298
303
  notNull: true
299
304
  };
300
305
  baseIndexes._localeIdx = {
@@ -607,7 +612,7 @@ export const traverseFields = ({ adapter, columnPrefix, columns, disableNotNull,
607
612
  baseColumns.locale = {
608
613
  name: 'locale',
609
614
  type: 'enum',
610
- isLocale: true,
615
+ locale: true,
611
616
  notNull: true
612
617
  };
613
618
  baseIndexes.localeIdx = {