@payloadcms/db-postgres 4.0.0-internal.38b7f1d → 4.0.0-internal.3b50481

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 (37) hide show
  1. package/LICENSE.md +1 -1
  2. package/dist/connect.d.ts.map +1 -1
  3. package/dist/connect.js +10 -0
  4. package/dist/connect.js.map +1 -1
  5. package/dist/exports/migration-utils.d.ts +3 -1
  6. package/dist/exports/migration-utils.d.ts.map +1 -1
  7. package/dist/exports/migration-utils.js +3 -1
  8. package/dist/exports/migration-utils.js.map +1 -1
  9. package/dist/index.d.ts +2 -2
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +5 -3
  12. package/dist/index.js.map +1 -1
  13. package/dist/predefinedMigrations/blocks-as-json.js +6 -0
  14. package/dist/predefinedMigrations/localize-status.d.ts +4 -0
  15. package/dist/predefinedMigrations/localize-status.d.ts.map +1 -0
  16. package/dist/predefinedMigrations/localize-status.js +11 -0
  17. package/dist/predefinedMigrations/localize-status.js.map +1 -0
  18. package/dist/predefinedMigrations/localize-status.mjs +11 -0
  19. package/dist/predefinedMigrations/migrateLocalizeStatus.d.ts +16 -0
  20. package/dist/predefinedMigrations/migrateLocalizeStatus.d.ts.map +1 -0
  21. package/dist/predefinedMigrations/migrateLocalizeStatus.js +94 -0
  22. package/dist/predefinedMigrations/migrateLocalizeStatus.js.map +1 -0
  23. package/dist/predefinedMigrations/migrateLocalizeStatus.mjs +94 -0
  24. package/dist/predefinedMigrations/relationships-v2-v3.js +11 -0
  25. package/dist/predefinedMigrations/sizes-to-variants.d.ts +3 -0
  26. package/dist/predefinedMigrations/sizes-to-variants.d.ts.map +1 -0
  27. package/dist/predefinedMigrations/sizes-to-variants.js +6 -0
  28. package/dist/predefinedMigrations/sizes-to-variants.js.map +1 -0
  29. package/dist/predefinedMigrations/sizes-to-variants.mjs +6 -0
  30. package/dist/types.d.ts +11 -3
  31. package/dist/types.d.ts.map +1 -1
  32. package/dist/types.js.map +1 -1
  33. package/package.json +6 -11
  34. package/dist/exports/types-deprecated.d.ts +0 -14
  35. package/dist/exports/types-deprecated.d.ts.map +0 -1
  36. package/dist/exports/types-deprecated.js +0 -5
  37. package/dist/exports/types-deprecated.js.map +0 -1
package/LICENSE.md CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2018-2025 Payload CMS, Inc. <info@payloadcms.com>
3
+ Copyright (c) 2018-2026 Payload CMS, LLC <info@payloadcms.com>
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining
6
6
  a copy of this software and associated documentation files (the
@@ -1 +1 @@
1
- {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAa,MAAM,SAAS,CAAA;AA6CjD,eAAO,MAAM,OAAO,EAAE,OAsFrB,CAAA"}
1
+ {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAa,MAAM,SAAS,CAAA;AAoDjD,eAAO,MAAM,OAAO,EAAE,OA2FrB,CAAA"}
package/dist/connect.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { pushDevSchema } from '@payloadcms/drizzle';
2
+ import { assertOperatorHandlerExtensionsInstalled } from '@payloadcms/drizzle/postgres';
2
3
  import { drizzle } from 'drizzle-orm/node-postgres';
3
4
  import { withReplicas } from 'drizzle-orm/pg-core';
4
5
  const connectWithReconnect = async function({ adapter, pool, reconnect = false }) {
@@ -35,6 +36,11 @@ const connectWithReconnect = async function({ adapter, pool, reconnect = false }
35
36
  // swallow error
36
37
  }
37
38
  });
39
+ // The client was only checked out to verify connectivity and to attach the
40
+ // listener above, both of which outlive the checkout. Holding on to it pins one
41
+ // connection for the lifetime of the pool, so `pool.end()` can never drain -
42
+ // including after `payload.destroy()`.
43
+ result.release();
38
44
  };
39
45
  export const connect = async function connect(options = {
40
46
  hotReload: false
@@ -106,6 +112,10 @@ export const connect = async function connect(options = {
106
112
  throw new Error(`Error: cannot connect to Postgres: ${err.message}`);
107
113
  }
108
114
  await this.createExtensions();
115
+ await assertOperatorHandlerExtensionsInstalled({
116
+ drizzle: this.drizzle,
117
+ operatorHandlers: this.operatorHandlers
118
+ });
109
119
  // Only push schema if not in production
110
120
  if (process.env.NODE_ENV !== 'production' && process.env.PAYLOAD_MIGRATING !== 'true' && this.push !== false) {
111
121
  await pushDevSchema(this);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/connect.ts"],"sourcesContent":["import type { DrizzleAdapter } from '@payloadcms/drizzle/types'\nimport type { Connect, Migration } from 'payload'\n\nimport { pushDevSchema } from '@payloadcms/drizzle'\nimport { drizzle } from 'drizzle-orm/node-postgres'\nimport { withReplicas } from 'drizzle-orm/pg-core'\n\nimport type { PostgresAdapter } from './types.js'\n\nconst connectWithReconnect = async function ({\n adapter,\n pool,\n reconnect = false,\n}: {\n adapter: PostgresAdapter\n pool: PostgresAdapter['pool']\n reconnect?: boolean\n}) {\n let result\n\n if (!reconnect) {\n result = await pool.connect()\n } else {\n try {\n result = await pool.connect()\n } catch (ignore) {\n setTimeout(() => {\n adapter.payload.logger.info('Reconnecting to postgres')\n void connectWithReconnect({ adapter, pool, reconnect: true })\n }, 1000)\n }\n }\n if (!result) {\n return\n }\n result.prependListener('error', (err) => {\n try {\n if (err.code === 'ECONNRESET') {\n void connectWithReconnect({ adapter, pool, reconnect: true })\n }\n } catch (ignore) {\n // swallow error\n }\n })\n}\n\nexport const connect: Connect = async function connect(\n this: PostgresAdapter,\n options = {\n hotReload: false,\n },\n) {\n const { hotReload } = options\n\n try {\n if (!this.pool) {\n this.pool = new this.pg.Pool(this.poolOptions)\n await connectWithReconnect({ adapter: this, pool: this.pool })\n }\n\n const logger = this.logger || false\n this.drizzle = drizzle({ client: this.pool, logger, schema: this.schema })\n\n if (this.readReplicaOptions) {\n this.primaryDrizzle = this.drizzle as any\n const readReplicas = this.readReplicaOptions.map((connectionString) => {\n const options = {\n ...this.poolOptions,\n connectionString,\n }\n const pool = new this.pg.Pool(options)\n void connectWithReconnect({\n adapter: this,\n pool,\n })\n return drizzle({ client: pool, logger, schema: this.schema })\n })\n const myReplicas = withReplicas(this.drizzle, readReplicas as any)\n this.drizzle = myReplicas\n }\n\n if (!hotReload) {\n if (process.env.PAYLOAD_DROP_DATABASE === 'true') {\n this.payload.logger.info(`---- DROPPING TABLES SCHEMA(${this.schemaName || 'public'}) ----`)\n await this.dropDatabase({ adapter: this })\n this.payload.logger.info('---- DROPPED TABLES ----')\n }\n }\n } catch (error) {\n const err = error instanceof Error ? error : new Error(String(error))\n if (err.message?.match(/database .* does not exist/i) && !this.disableCreateDatabase) {\n // capitalize first char of the err msg\n this.payload.logger.info(\n `${err.message.charAt(0).toUpperCase() + err.message.slice(1)}, creating...`,\n )\n const isCreated = await this.createDatabase()\n\n if (isCreated && this.connect) {\n await this.connect(options)\n return\n }\n } else {\n this.payload.logger.error({\n err,\n msg: `Error: cannot connect to Postgres. Details: ${err.message}`,\n })\n }\n\n if (typeof this.rejectInitializing === 'function') {\n this.rejectInitializing()\n }\n throw new Error(`Error: cannot connect to Postgres: ${err.message}`)\n }\n\n await this.createExtensions()\n\n // Only push schema if not in production\n if (\n process.env.NODE_ENV !== 'production' &&\n process.env.PAYLOAD_MIGRATING !== 'true' &&\n this.push !== false\n ) {\n await pushDevSchema(this as unknown as DrizzleAdapter)\n }\n\n if (typeof this.resolveInitializing === 'function') {\n this.resolveInitializing()\n }\n\n if (process.env.NODE_ENV === 'production' && this.prodMigrations) {\n await this.migrate({ migrations: this.prodMigrations as unknown as Migration[] })\n }\n}\n"],"names":["pushDevSchema","drizzle","withReplicas","connectWithReconnect","adapter","pool","reconnect","result","connect","ignore","setTimeout","payload","logger","info","prependListener","err","code","options","hotReload","pg","Pool","poolOptions","client","schema","readReplicaOptions","primaryDrizzle","readReplicas","map","connectionString","myReplicas","process","env","PAYLOAD_DROP_DATABASE","schemaName","dropDatabase","error","Error","String","message","match","disableCreateDatabase","charAt","toUpperCase","slice","isCreated","createDatabase","msg","rejectInitializing","createExtensions","NODE_ENV","PAYLOAD_MIGRATING","push","resolveInitializing","prodMigrations","migrate","migrations"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/connect.ts"],"sourcesContent":["import type { DrizzleAdapter } from '@payloadcms/drizzle'\nimport type { Connect, Migration } from 'payload'\n\nimport { pushDevSchema } from '@payloadcms/drizzle'\nimport { assertOperatorHandlerExtensionsInstalled } from '@payloadcms/drizzle/postgres'\nimport { drizzle } from 'drizzle-orm/node-postgres'\nimport { withReplicas } from 'drizzle-orm/pg-core'\n\nimport type { PostgresAdapter } from './types.js'\n\nconst connectWithReconnect = async function ({\n adapter,\n pool,\n reconnect = false,\n}: {\n adapter: PostgresAdapter\n pool: PostgresAdapter['pool']\n reconnect?: boolean\n}) {\n let result\n\n if (!reconnect) {\n result = await pool.connect()\n } else {\n try {\n result = await pool.connect()\n } catch (ignore) {\n setTimeout(() => {\n adapter.payload.logger.info('Reconnecting to postgres')\n void connectWithReconnect({ adapter, pool, reconnect: true })\n }, 1000)\n }\n }\n if (!result) {\n return\n }\n result.prependListener('error', (err) => {\n try {\n if (err.code === 'ECONNRESET') {\n void connectWithReconnect({ adapter, pool, reconnect: true })\n }\n } catch (ignore) {\n // swallow error\n }\n })\n\n // The client was only checked out to verify connectivity and to attach the\n // listener above, both of which outlive the checkout. Holding on to it pins one\n // connection for the lifetime of the pool, so `pool.end()` can never drain -\n // including after `payload.destroy()`.\n result.release()\n}\n\nexport const connect: Connect = async function connect(\n this: PostgresAdapter,\n options = {\n hotReload: false,\n },\n) {\n const { hotReload } = options\n\n try {\n if (!this.pool) {\n this.pool = new this.pg.Pool(this.poolOptions)\n await connectWithReconnect({ adapter: this, pool: this.pool })\n }\n\n const logger = this.logger || false\n this.drizzle = drizzle({ client: this.pool, logger, schema: this.schema })\n\n if (this.readReplicaOptions) {\n this.primaryDrizzle = this.drizzle as any\n const readReplicas = this.readReplicaOptions.map((connectionString) => {\n const options = {\n ...this.poolOptions,\n connectionString,\n }\n const pool = new this.pg.Pool(options)\n void connectWithReconnect({\n adapter: this,\n pool,\n })\n return drizzle({ client: pool, logger, schema: this.schema })\n })\n const myReplicas = withReplicas(this.drizzle, readReplicas as any)\n this.drizzle = myReplicas\n }\n\n if (!hotReload) {\n if (process.env.PAYLOAD_DROP_DATABASE === 'true') {\n this.payload.logger.info(`---- DROPPING TABLES SCHEMA(${this.schemaName || 'public'}) ----`)\n await this.dropDatabase({ adapter: this })\n this.payload.logger.info('---- DROPPED TABLES ----')\n }\n }\n } catch (error) {\n const err = error instanceof Error ? error : new Error(String(error))\n if (err.message?.match(/database .* does not exist/i) && !this.disableCreateDatabase) {\n // capitalize first char of the err msg\n this.payload.logger.info(\n `${err.message.charAt(0).toUpperCase() + err.message.slice(1)}, creating...`,\n )\n const isCreated = await this.createDatabase()\n\n if (isCreated && this.connect) {\n await this.connect(options)\n return\n }\n } else {\n this.payload.logger.error({\n err,\n msg: `Error: cannot connect to Postgres. Details: ${err.message}`,\n })\n }\n\n if (typeof this.rejectInitializing === 'function') {\n this.rejectInitializing()\n }\n throw new Error(`Error: cannot connect to Postgres: ${err.message}`)\n }\n\n await this.createExtensions()\n\n await assertOperatorHandlerExtensionsInstalled({\n drizzle: this.drizzle,\n operatorHandlers: this.operatorHandlers,\n })\n\n // Only push schema if not in production\n if (\n process.env.NODE_ENV !== 'production' &&\n process.env.PAYLOAD_MIGRATING !== 'true' &&\n this.push !== false\n ) {\n await pushDevSchema(this as unknown as DrizzleAdapter)\n }\n\n if (typeof this.resolveInitializing === 'function') {\n this.resolveInitializing()\n }\n\n if (process.env.NODE_ENV === 'production' && this.prodMigrations) {\n await this.migrate({ migrations: this.prodMigrations as unknown as Migration[] })\n }\n}\n"],"names":["pushDevSchema","assertOperatorHandlerExtensionsInstalled","drizzle","withReplicas","connectWithReconnect","adapter","pool","reconnect","result","connect","ignore","setTimeout","payload","logger","info","prependListener","err","code","release","options","hotReload","pg","Pool","poolOptions","client","schema","readReplicaOptions","primaryDrizzle","readReplicas","map","connectionString","myReplicas","process","env","PAYLOAD_DROP_DATABASE","schemaName","dropDatabase","error","Error","String","message","match","disableCreateDatabase","charAt","toUpperCase","slice","isCreated","createDatabase","msg","rejectInitializing","createExtensions","operatorHandlers","NODE_ENV","PAYLOAD_MIGRATING","push","resolveInitializing","prodMigrations","migrate","migrations"],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ export { migrateLocalizeStatus } from '../predefinedMigrations/migrateLocalizeStatus.js';
1
2
  export { getBlocksToJsonMigrator } from '@payloadcms/drizzle';
2
- export { migratePostgresV2toV3 } from '@payloadcms/drizzle/postgres';
3
+ export { migratePostgresLocalizeStatus, migratePostgresV2toV3 } from '@payloadcms/drizzle/postgres';
4
+ export { migratePostgresSizesToVariants as migrateSizesToVariants } from '@payloadcms/drizzle/postgres';
3
5
  //# sourceMappingURL=migration-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"migration-utils.d.ts","sourceRoot":"","sources":["../../src/exports/migration-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA"}
1
+ {"version":3,"file":"migration-utils.d.ts","sourceRoot":"","sources":["../../src/exports/migration-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kDAAkD,CAAA;AACxF,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACnG,OAAO,EAAE,8BAA8B,IAAI,sBAAsB,EAAE,MAAM,8BAA8B,CAAA"}
@@ -1,4 +1,6 @@
1
+ export { migrateLocalizeStatus } from '../predefinedMigrations/migrateLocalizeStatus.js';
1
2
  export { getBlocksToJsonMigrator } from '@payloadcms/drizzle';
2
- export { migratePostgresV2toV3 } from '@payloadcms/drizzle/postgres';
3
+ export { migratePostgresLocalizeStatus, migratePostgresV2toV3 } from '@payloadcms/drizzle/postgres';
4
+ export { migratePostgresSizesToVariants as migrateSizesToVariants } from '@payloadcms/drizzle/postgres';
3
5
 
4
6
  //# sourceMappingURL=migration-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/exports/migration-utils.ts"],"sourcesContent":["export { getBlocksToJsonMigrator } from '@payloadcms/drizzle'\nexport { migratePostgresV2toV3 } from '@payloadcms/drizzle/postgres'\n"],"names":["getBlocksToJsonMigrator","migratePostgresV2toV3"],"mappings":"AAAA,SAASA,uBAAuB,QAAQ,sBAAqB;AAC7D,SAASC,qBAAqB,QAAQ,+BAA8B"}
1
+ {"version":3,"sources":["../../src/exports/migration-utils.ts"],"sourcesContent":["export { migrateLocalizeStatus } from '../predefinedMigrations/migrateLocalizeStatus.js'\nexport { getBlocksToJsonMigrator } from '@payloadcms/drizzle'\nexport { migratePostgresLocalizeStatus, migratePostgresV2toV3 } from '@payloadcms/drizzle/postgres'\nexport { migratePostgresSizesToVariants as migrateSizesToVariants } from '@payloadcms/drizzle/postgres'\n"],"names":["migrateLocalizeStatus","getBlocksToJsonMigrator","migratePostgresLocalizeStatus","migratePostgresV2toV3","migratePostgresSizesToVariants","migrateSizesToVariants"],"mappings":"AAAA,SAASA,qBAAqB,QAAQ,mDAAkD;AACxF,SAASC,uBAAuB,QAAQ,sBAAqB;AAC7D,SAASC,6BAA6B,EAAEC,qBAAqB,QAAQ,+BAA8B;AACnG,SAASC,kCAAkCC,sBAAsB,QAAQ,+BAA8B"}
package/dist/index.d.ts CHANGED
@@ -2,7 +2,7 @@ import type { DatabaseAdapterObj } from 'payload';
2
2
  import type { Args, PostgresAdapter } from './types.js';
3
3
  export declare function postgresAdapter(args: Args): DatabaseAdapterObj<PostgresAdapter>;
4
4
  export type { Args as PostgresAdapterArgs, GeneratedDatabaseSchema, PostgresAdapter, } from './types.js';
5
- export type { MigrateDownArgs, MigrateUpArgs } from '@payloadcms/drizzle/postgres';
6
- export { geometryColumn } from '@payloadcms/drizzle/postgres';
5
+ export type { MigrateDownArgs, MigrateUpArgs, PostgresOperatorHandler, PostgresQueryConfig, } from '@payloadcms/drizzle/postgres';
6
+ export { geometryColumn, postgresUnaccent } from '@payloadcms/drizzle/postgres';
7
7
  export { sql } from 'drizzle-orm';
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAW,MAAM,SAAS,CAAA;AA8D1D,OAAO,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAMvD,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,kBAAkB,CAAC,eAAe,CAAC,CA+K/E;AAED,YAAY,EACV,IAAI,IAAI,mBAAmB,EAC3B,uBAAuB,EACvB,eAAe,GAChB,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAW,MAAM,SAAS,CAAA;AA8D1D,OAAO,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAMvD,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAmL/E;AAED,YAAY,EACV,IAAI,IAAI,mBAAmB,EAC3B,uBAAuB,EACvB,eAAe,GAChB,MAAM,YAAY,CAAA;AACnB,YAAY,EACV,eAAe,EACf,aAAa,EACb,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/E,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { beginTransaction, buildCreateMigration, commitTransaction, count, countGlobalVersions, countVersions, create, createBlocksToJsonMigrator, createGlobal, createGlobalVersion, createSchemaGenerator, createVersion, deleteMany, deleteOne, deleteVersions, destroy, find, findDistinct, findGlobal, findGlobalVersions, findOne, findVersions, migrate, migrateDown, migrateFresh, migrateRefresh, migrateReset, migrateStatus, migrateVersionsEnabled, operatorMap, queryDrafts, rollbackTransaction, updateGlobal, updateGlobalVersion, updateJobs, updateMany, updateOne, updateVersion, upsert } from '@payloadcms/drizzle';
1
+ import { beginTransaction, buildCreateMigration, commitTransaction, count, countGlobalVersions, countVersions, create, createBlocksToJsonMigrator, createGlobal, createGlobalVersion, createSchemaGenerator, createVersion, deleteMany, deleteOne, deleteVersions, destroy, find, findDistinct, findGlobal, findGlobalVersions, findOne, findVersions, migrate, migrateDown, migrateFresh, migrateRefresh, migrateReset, migrateStatus, operatorMap, queryDrafts, rollbackTransaction, updateGlobal, updateGlobalVersion, updateJobs, updateMany, updateOne, updateVersion, upsert, validateOperatorHandlers } from '@payloadcms/drizzle';
2
2
  import { columnToCodeConverter, countDistinct, createDatabase, createExtensions, createJSONQuery, defaultDrizzleSnapshot, deleteWhere, dropDatabase, execute, init, insert, requireDrizzleKit } from '@payloadcms/drizzle/postgres';
3
3
  import { pgEnum, pgSchema, pgTable } from 'drizzle-orm/pg-core';
4
4
  import { createDatabaseAdapter, defaultBeginTransaction, findMigrationDir } from 'payload';
@@ -32,6 +32,8 @@ export function postgresAdapter(args) {
32
32
  acc[name] = true;
33
33
  return acc;
34
34
  }, {});
35
+ const operatorHandlers = args.query?.operatorHandlers ?? [];
36
+ validateOperatorHandlers(operatorHandlers);
35
37
  const sanitizeStatements = ({ sqlExecute, statements })=>{
36
38
  return `${sqlExecute}\n ${statements.join('\n')}\`)`;
37
39
  };
@@ -72,6 +74,7 @@ export function postgresAdapter(args) {
72
74
  initializing,
73
75
  localesSuffix: args.localesSuffix || '_locales',
74
76
  logger: args.logger,
77
+ operatorHandlers,
75
78
  operators: operatorMap,
76
79
  pg: args.pg || pgDependency,
77
80
  pgSchema: adapterSchema,
@@ -129,7 +132,6 @@ export function postgresAdapter(args) {
129
132
  migrateRefresh,
130
133
  migrateReset,
131
134
  migrateStatus,
132
- migrateVersionsEnabled,
133
135
  migrationDir,
134
136
  packageName: '@payloadcms/db-postgres',
135
137
  payload,
@@ -164,7 +166,7 @@ export function postgresAdapter(args) {
164
166
  init: adapter
165
167
  };
166
168
  }
167
- export { geometryColumn } from '@payloadcms/drizzle/postgres';
169
+ export { geometryColumn, postgresUnaccent } from '@payloadcms/drizzle/postgres';
168
170
  export { sql } from 'drizzle-orm';
169
171
 
170
172
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import type { DrizzleAdapter } from '@payloadcms/drizzle'\nimport type { DatabaseAdapterObj, Payload } from 'payload'\n\nimport {\n beginTransaction,\n buildCreateMigration,\n commitTransaction,\n count,\n countGlobalVersions,\n countVersions,\n create,\n createBlocksToJsonMigrator,\n createGlobal,\n createGlobalVersion,\n createSchemaGenerator,\n createVersion,\n deleteMany,\n deleteOne,\n deleteVersions,\n destroy,\n find,\n findDistinct,\n findGlobal,\n findGlobalVersions,\n findOne,\n findVersions,\n migrate,\n migrateDown,\n migrateFresh,\n migrateRefresh,\n migrateReset,\n migrateStatus,\n migrateVersionsEnabled,\n operatorMap,\n queryDrafts,\n rollbackTransaction,\n updateGlobal,\n updateGlobalVersion,\n updateJobs,\n updateMany,\n updateOne,\n updateVersion,\n upsert,\n} from '@payloadcms/drizzle'\nimport {\n columnToCodeConverter,\n countDistinct,\n createDatabase,\n createExtensions,\n createJSONQuery,\n defaultDrizzleSnapshot,\n deleteWhere,\n dropDatabase,\n execute,\n init,\n insert,\n requireDrizzleKit,\n} from '@payloadcms/drizzle/postgres'\nimport { pgEnum, pgSchema, pgTable } from 'drizzle-orm/pg-core'\nimport { createDatabaseAdapter, defaultBeginTransaction, findMigrationDir } from 'payload'\nimport pgDependency from 'pg'\nimport { fileURLToPath } from 'url'\n\nimport type { Args, PostgresAdapter } from './types.js'\n\nimport { connect } from './connect.js'\n\nconst filename = fileURLToPath(import.meta.url)\n\nexport function postgresAdapter(args: Args): DatabaseAdapterObj<PostgresAdapter> {\n const postgresIDType = args.idType || 'serial'\n const payloadIDType = postgresIDType === 'serial' ? 'number' : 'text'\n const allowIDOnCreate = args.allowIDOnCreate ?? false\n\n function adapter({ payload }: { payload: Payload }) {\n const migrationDir = findMigrationDir(args.migrationDir)\n let resolveInitializing\n let rejectInitializing\n let adapterSchema: PostgresAdapter['pgSchema']\n\n const initializing = new Promise<void>((res, rej) => {\n resolveInitializing = res\n rejectInitializing = rej\n })\n\n if (args.schemaName) {\n adapterSchema = pgSchema(args.schemaName)\n } else {\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n adapterSchema = { enum: pgEnum, table: pgTable }\n }\n\n const extensions = (args.extensions ?? []).reduce(\n (acc, name) => {\n acc[name] = true\n return acc\n },\n {} as Record<string, boolean>,\n )\n\n const sanitizeStatements = ({\n sqlExecute,\n statements,\n }: {\n sqlExecute: string\n statements: string[]\n }): string => {\n return `${sqlExecute}\\n ${statements.join('\\n')}\\`)`\n }\n\n const executeMethod = 'execute'\n\n const adapter = createDatabaseAdapter<PostgresAdapter>({\n name: 'postgres',\n afterSchemaInit: args.afterSchemaInit ?? [],\n allowIDOnCreate,\n beforeSchemaInit: args.beforeSchemaInit ?? [],\n blocksAsJSON: args.blocksAsJSON ?? false,\n createDatabase,\n createExtensions,\n createMigration: buildCreateMigration({\n executeMethod,\n filename,\n sanitizeStatements,\n }),\n defaultDrizzleSnapshot,\n disableCreateDatabase: args.disableCreateDatabase ?? false,\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n drizzle: undefined,\n enums: {},\n extensions,\n features: {\n json: true,\n },\n fieldConstraints: {},\n findDistinct,\n generateSchema: createSchemaGenerator({\n columnToCodeConverter,\n corePackageSuffix: 'pg-core',\n defaultOutputFile: args.generateSchemaOutputFile,\n enumImport: 'pgEnum',\n schemaImport: 'pgSchema',\n tableImport: 'pgTable',\n }),\n idType: postgresIDType,\n initializing,\n localesSuffix: args.localesSuffix || '_locales',\n logger: args.logger,\n operators: operatorMap,\n pg: args.pg || pgDependency,\n pgSchema: adapterSchema,\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n pool: undefined,\n poolOptions: args.pool,\n prodMigrations: args.prodMigrations,\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n push: args.push,\n readReplicaOptions: args.readReplicas,\n readReplicasAfterWriteInterval: args.readReplicasAfterWriteInterval ?? 2000,\n relations: {},\n relationshipsSuffix: args.relationshipsSuffix || '_rels',\n schema: {},\n schemaName: args.schemaName,\n sessions: {},\n tableNameMap: new Map<string, string>(),\n tables: {},\n tablesFilter: args.tablesFilter,\n transactionOptions: args.transactionOptions || undefined,\n versionsSuffix: args.versionsSuffix || '_v',\n\n // DatabaseAdapter\n beginTransaction:\n args.transactionOptions === false ? defaultBeginTransaction() : beginTransaction,\n commitTransaction,\n connect,\n count,\n countDistinct,\n countGlobalVersions,\n countVersions,\n create,\n createGlobal,\n createGlobalVersion,\n createJSONQuery,\n createVersion,\n defaultIDType: payloadIDType,\n deleteMany,\n deleteOne,\n deleteVersions,\n deleteWhere,\n destroy,\n dropDatabase,\n execute,\n find,\n findGlobal,\n findGlobalVersions,\n findOne,\n findVersions,\n foreignKeys: new Set(),\n indexes: new Set<string>(),\n init,\n insert,\n migrate,\n migrateDown,\n migrateFresh,\n migrateRefresh,\n migrateReset,\n migrateStatus,\n migrateVersionsEnabled,\n migrationDir,\n packageName: '@payloadcms/db-postgres',\n payload,\n queryDrafts,\n rawRelations: {},\n rawTables: {},\n updateJobs,\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n rejectInitializing,\n requireDrizzleKit,\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n resolveInitializing,\n rollbackTransaction,\n updateGlobal,\n updateGlobalVersion,\n updateMany,\n updateOne,\n updateVersion,\n upsert,\n })\n\n adapter.blocksToJsonMigrator = createBlocksToJsonMigrator({\n adapter: adapter as unknown as DrizzleAdapter,\n executeMethod,\n sanitizeStatements,\n })\n\n return adapter\n }\n\n return {\n name: 'postgres',\n allowIDOnCreate,\n defaultIDType: payloadIDType,\n init: adapter,\n }\n}\n\nexport type {\n Args as PostgresAdapterArgs,\n GeneratedDatabaseSchema,\n PostgresAdapter,\n} from './types.js'\nexport type { MigrateDownArgs, MigrateUpArgs } from '@payloadcms/drizzle/postgres'\nexport { geometryColumn } from '@payloadcms/drizzle/postgres'\nexport { sql } from 'drizzle-orm'\n"],"names":["beginTransaction","buildCreateMigration","commitTransaction","count","countGlobalVersions","countVersions","create","createBlocksToJsonMigrator","createGlobal","createGlobalVersion","createSchemaGenerator","createVersion","deleteMany","deleteOne","deleteVersions","destroy","find","findDistinct","findGlobal","findGlobalVersions","findOne","findVersions","migrate","migrateDown","migrateFresh","migrateRefresh","migrateReset","migrateStatus","migrateVersionsEnabled","operatorMap","queryDrafts","rollbackTransaction","updateGlobal","updateGlobalVersion","updateJobs","updateMany","updateOne","updateVersion","upsert","columnToCodeConverter","countDistinct","createDatabase","createExtensions","createJSONQuery","defaultDrizzleSnapshot","deleteWhere","dropDatabase","execute","init","insert","requireDrizzleKit","pgEnum","pgSchema","pgTable","createDatabaseAdapter","defaultBeginTransaction","findMigrationDir","pgDependency","fileURLToPath","connect","filename","url","postgresAdapter","args","postgresIDType","idType","payloadIDType","allowIDOnCreate","adapter","payload","migrationDir","resolveInitializing","rejectInitializing","adapterSchema","initializing","Promise","res","rej","schemaName","enum","table","extensions","reduce","acc","name","sanitizeStatements","sqlExecute","statements","join","executeMethod","afterSchemaInit","beforeSchemaInit","blocksAsJSON","createMigration","disableCreateDatabase","drizzle","undefined","enums","features","json","fieldConstraints","generateSchema","corePackageSuffix","defaultOutputFile","generateSchemaOutputFile","enumImport","schemaImport","tableImport","localesSuffix","logger","operators","pg","pool","poolOptions","prodMigrations","push","readReplicaOptions","readReplicas","readReplicasAfterWriteInterval","relations","relationshipsSuffix","schema","sessions","tableNameMap","Map","tables","tablesFilter","transactionOptions","versionsSuffix","defaultIDType","foreignKeys","Set","indexes","packageName","rawRelations","rawTables","blocksToJsonMigrator","geometryColumn","sql"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import type { DrizzleAdapter } from '@payloadcms/drizzle'\nimport type { DatabaseAdapterObj, Payload } from 'payload'\n\nimport {\n beginTransaction,\n buildCreateMigration,\n commitTransaction,\n count,\n countGlobalVersions,\n countVersions,\n create,\n createBlocksToJsonMigrator,\n createGlobal,\n createGlobalVersion,\n createSchemaGenerator,\n createVersion,\n deleteMany,\n deleteOne,\n deleteVersions,\n destroy,\n find,\n findDistinct,\n findGlobal,\n findGlobalVersions,\n findOne,\n findVersions,\n migrate,\n migrateDown,\n migrateFresh,\n migrateRefresh,\n migrateReset,\n migrateStatus,\n operatorMap,\n queryDrafts,\n rollbackTransaction,\n updateGlobal,\n updateGlobalVersion,\n updateJobs,\n updateMany,\n updateOne,\n updateVersion,\n upsert,\n validateOperatorHandlers,\n} from '@payloadcms/drizzle'\nimport {\n columnToCodeConverter,\n countDistinct,\n createDatabase,\n createExtensions,\n createJSONQuery,\n defaultDrizzleSnapshot,\n deleteWhere,\n dropDatabase,\n execute,\n init,\n insert,\n requireDrizzleKit,\n} from '@payloadcms/drizzle/postgres'\nimport { pgEnum, pgSchema, pgTable } from 'drizzle-orm/pg-core'\nimport { createDatabaseAdapter, defaultBeginTransaction, findMigrationDir } from 'payload'\nimport pgDependency from 'pg'\nimport { fileURLToPath } from 'url'\n\nimport type { Args, PostgresAdapter } from './types.js'\n\nimport { connect } from './connect.js'\n\nconst filename = fileURLToPath(import.meta.url)\n\nexport function postgresAdapter(args: Args): DatabaseAdapterObj<PostgresAdapter> {\n const postgresIDType = args.idType || 'serial'\n const payloadIDType = postgresIDType === 'serial' ? 'number' : 'text'\n const allowIDOnCreate = args.allowIDOnCreate ?? false\n\n function adapter({ payload }: { payload: Payload }) {\n const migrationDir = findMigrationDir(args.migrationDir)\n let resolveInitializing\n let rejectInitializing\n let adapterSchema: PostgresAdapter['pgSchema']\n\n const initializing = new Promise<void>((res, rej) => {\n resolveInitializing = res\n rejectInitializing = rej\n })\n\n if (args.schemaName) {\n adapterSchema = pgSchema(args.schemaName)\n } else {\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n adapterSchema = { enum: pgEnum, table: pgTable }\n }\n\n const extensions = (args.extensions ?? []).reduce(\n (acc, name) => {\n acc[name] = true\n return acc\n },\n {} as Record<string, boolean>,\n )\n\n const operatorHandlers = args.query?.operatorHandlers ?? []\n\n validateOperatorHandlers(operatorHandlers)\n\n const sanitizeStatements = ({\n sqlExecute,\n statements,\n }: {\n sqlExecute: string\n statements: string[]\n }): string => {\n return `${sqlExecute}\\n ${statements.join('\\n')}\\`)`\n }\n\n const executeMethod = 'execute'\n\n const adapter = createDatabaseAdapter<PostgresAdapter>({\n name: 'postgres',\n afterSchemaInit: args.afterSchemaInit ?? [],\n allowIDOnCreate,\n beforeSchemaInit: args.beforeSchemaInit ?? [],\n blocksAsJSON: args.blocksAsJSON ?? false,\n createDatabase,\n createExtensions,\n createMigration: buildCreateMigration({\n executeMethod,\n filename,\n sanitizeStatements,\n }),\n defaultDrizzleSnapshot,\n disableCreateDatabase: args.disableCreateDatabase ?? false,\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n drizzle: undefined,\n enums: {},\n extensions,\n features: {\n json: true,\n },\n fieldConstraints: {},\n findDistinct,\n generateSchema: createSchemaGenerator({\n columnToCodeConverter,\n corePackageSuffix: 'pg-core',\n defaultOutputFile: args.generateSchemaOutputFile,\n enumImport: 'pgEnum',\n schemaImport: 'pgSchema',\n tableImport: 'pgTable',\n }),\n idType: postgresIDType,\n initializing,\n localesSuffix: args.localesSuffix || '_locales',\n logger: args.logger,\n operatorHandlers,\n operators: operatorMap,\n pg: args.pg || pgDependency,\n pgSchema: adapterSchema,\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n pool: undefined,\n poolOptions: args.pool,\n prodMigrations: args.prodMigrations,\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n push: args.push,\n readReplicaOptions: args.readReplicas,\n readReplicasAfterWriteInterval: args.readReplicasAfterWriteInterval ?? 2000,\n relations: {},\n relationshipsSuffix: args.relationshipsSuffix || '_rels',\n schema: {},\n schemaName: args.schemaName,\n sessions: {},\n tableNameMap: new Map<string, string>(),\n tables: {},\n tablesFilter: args.tablesFilter,\n transactionOptions: args.transactionOptions || undefined,\n versionsSuffix: args.versionsSuffix || '_v',\n\n // DatabaseAdapter\n beginTransaction:\n args.transactionOptions === false ? defaultBeginTransaction() : beginTransaction,\n commitTransaction,\n connect,\n count,\n countDistinct,\n countGlobalVersions,\n countVersions,\n create,\n createGlobal,\n createGlobalVersion,\n createJSONQuery,\n createVersion,\n defaultIDType: payloadIDType,\n deleteMany,\n deleteOne,\n deleteVersions,\n deleteWhere,\n destroy,\n dropDatabase,\n execute,\n find,\n findGlobal,\n findGlobalVersions,\n findOne,\n findVersions,\n foreignKeys: new Set(),\n indexes: new Set<string>(),\n init,\n insert,\n migrate,\n migrateDown,\n migrateFresh,\n migrateRefresh,\n migrateReset,\n migrateStatus,\n migrationDir,\n packageName: '@payloadcms/db-postgres',\n payload,\n queryDrafts,\n rawRelations: {},\n rawTables: {},\n updateJobs,\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n rejectInitializing,\n requireDrizzleKit,\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n resolveInitializing,\n rollbackTransaction,\n updateGlobal,\n updateGlobalVersion,\n updateMany,\n updateOne,\n updateVersion,\n upsert,\n })\n\n adapter.blocksToJsonMigrator = createBlocksToJsonMigrator({\n adapter: adapter as unknown as DrizzleAdapter,\n executeMethod,\n sanitizeStatements,\n })\n\n return adapter\n }\n\n return {\n name: 'postgres',\n allowIDOnCreate,\n defaultIDType: payloadIDType,\n init: adapter,\n }\n}\n\nexport type {\n Args as PostgresAdapterArgs,\n GeneratedDatabaseSchema,\n PostgresAdapter,\n} from './types.js'\nexport type {\n MigrateDownArgs,\n MigrateUpArgs,\n PostgresOperatorHandler,\n PostgresQueryConfig,\n} from '@payloadcms/drizzle/postgres'\nexport { geometryColumn, postgresUnaccent } from '@payloadcms/drizzle/postgres'\nexport { sql } from 'drizzle-orm'\n"],"names":["beginTransaction","buildCreateMigration","commitTransaction","count","countGlobalVersions","countVersions","create","createBlocksToJsonMigrator","createGlobal","createGlobalVersion","createSchemaGenerator","createVersion","deleteMany","deleteOne","deleteVersions","destroy","find","findDistinct","findGlobal","findGlobalVersions","findOne","findVersions","migrate","migrateDown","migrateFresh","migrateRefresh","migrateReset","migrateStatus","operatorMap","queryDrafts","rollbackTransaction","updateGlobal","updateGlobalVersion","updateJobs","updateMany","updateOne","updateVersion","upsert","validateOperatorHandlers","columnToCodeConverter","countDistinct","createDatabase","createExtensions","createJSONQuery","defaultDrizzleSnapshot","deleteWhere","dropDatabase","execute","init","insert","requireDrizzleKit","pgEnum","pgSchema","pgTable","createDatabaseAdapter","defaultBeginTransaction","findMigrationDir","pgDependency","fileURLToPath","connect","filename","url","postgresAdapter","args","postgresIDType","idType","payloadIDType","allowIDOnCreate","adapter","payload","migrationDir","resolveInitializing","rejectInitializing","adapterSchema","initializing","Promise","res","rej","schemaName","enum","table","extensions","reduce","acc","name","operatorHandlers","query","sanitizeStatements","sqlExecute","statements","join","executeMethod","afterSchemaInit","beforeSchemaInit","blocksAsJSON","createMigration","disableCreateDatabase","drizzle","undefined","enums","features","json","fieldConstraints","generateSchema","corePackageSuffix","defaultOutputFile","generateSchemaOutputFile","enumImport","schemaImport","tableImport","localesSuffix","logger","operators","pg","pool","poolOptions","prodMigrations","push","readReplicaOptions","readReplicas","readReplicasAfterWriteInterval","relations","relationshipsSuffix","schema","sessions","tableNameMap","Map","tables","tablesFilter","transactionOptions","versionsSuffix","defaultIDType","foreignKeys","Set","indexes","packageName","rawRelations","rawTables","blocksToJsonMigrator","geometryColumn","postgresUnaccent","sql"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { buildDynamicPredefinedBlocksToJsonMigration } from '@payloadcms/drizzle';
2
+ export const dynamic = buildDynamicPredefinedBlocksToJsonMigration({
3
+ packageName: '@payloadcms/db-postgres'
4
+ });
5
+
6
+ //# sourceMappingURL=blocks-as-json.js.map
@@ -0,0 +1,4 @@
1
+ declare const imports = "import { migrateLocalizeStatus } from '@payloadcms/db-postgres/migration-utils'";
2
+ declare const upSQL = " await migrateLocalizeStatus({\n db,\n payload,\n req,\n sql,\n })\n";
3
+ export { imports, upSQL };
4
+ //# sourceMappingURL=localize-status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localize-status.d.ts","sourceRoot":"","sources":["../../src/predefinedMigrations/localize-status.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,OAAO,oFAAoF,CAAA;AACjG,QAAA,MAAM,KAAK,8GAMV,CAAA;AAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA"}
@@ -0,0 +1,11 @@
1
+ const imports = `import { migrateLocalizeStatus } from '@payloadcms/db-postgres/migration-utils'`;
2
+ const upSQL = ` await migrateLocalizeStatus({
3
+ db,
4
+ payload,
5
+ req,
6
+ sql,
7
+ })
8
+ `;
9
+ export { imports, upSQL };
10
+
11
+ //# sourceMappingURL=localize-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/predefinedMigrations/localize-status.ts"],"sourcesContent":["const imports = `import { migrateLocalizeStatus } from '@payloadcms/db-postgres/migration-utils'`\nconst upSQL = ` await migrateLocalizeStatus({\n db,\n payload,\n req,\n sql,\n })\n`\n\nexport { imports, upSQL }\n"],"names":["imports","upSQL"],"mappings":"AAAA,MAAMA,UAAU,CAAC,+EAA+E,CAAC;AACjG,MAAMC,QAAQ,CAAC;;;;;;AAMf,CAAC;AAED,SAASD,OAAO,EAAEC,KAAK,GAAE"}
@@ -0,0 +1,11 @@
1
+ const imports = `import { migrateLocalizeStatus } from '@payloadcms/db-postgres/migration-utils'`;
2
+ const upSQL = ` await migrateLocalizeStatus({
3
+ db,
4
+ payload,
5
+ req,
6
+ sql,
7
+ })
8
+ `;
9
+ export { imports, upSQL };
10
+
11
+ //# sourceMappingURL=localize-status.js.map
@@ -0,0 +1,16 @@
1
+ import type { Payload, PayloadRequest } from 'payload';
2
+ /**
3
+ * Migrate all collections and globals with per-locale status enabled to use per-locale _status.
4
+ *
5
+ * This migration:
6
+ * 1. Converts version._status from a scalar string to a locale-keyed object for each entity
7
+ * 2. Deletes all snapshot=true rows from each version table
8
+ * 3. Drops the `snapshot` column from each version table
9
+ */
10
+ export declare function migrateLocalizeStatus({ db, payload, req, sql, }: {
11
+ db: any;
12
+ payload: Payload;
13
+ req: PayloadRequest;
14
+ sql: any;
15
+ }): Promise<void>;
16
+ //# sourceMappingURL=migrateLocalizeStatus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrateLocalizeStatus.d.ts","sourceRoot":"","sources":["../../src/predefinedMigrations/migrateLocalizeStatus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAKtD;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CAAC,EAC1C,EAAE,EACF,OAAO,EACP,GAAG,EACH,GAAG,GACJ,EAAE;IACD,EAAE,EAAE,GAAG,CAAA;IACP,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,cAAc,CAAA;IACnB,GAAG,EAAE,GAAG,CAAA;CACT,GAAG,OAAO,CAAC,IAAI,CAAC,CA8ChB"}
@@ -0,0 +1,94 @@
1
+ import { migratePostgresLocalizeStatus } from '@payloadcms/drizzle/postgres';
2
+ import { toSnakeCase } from 'payload/migrations';
3
+ /**
4
+ * Migrate all collections and globals with per-locale status enabled to use per-locale _status.
5
+ *
6
+ * This migration:
7
+ * 1. Converts version._status from a scalar string to a locale-keyed object for each entity
8
+ * 2. Deletes all snapshot=true rows from each version table
9
+ * 3. Drops the `snapshot` column from each version table
10
+ */ export async function migrateLocalizeStatus({ db, payload, req, sql }) {
11
+ if (!payload.config.localization) {
12
+ payload.logger.info({
13
+ msg: 'Localization not enabled, skipping localize-status migration'
14
+ });
15
+ return;
16
+ }
17
+ const collections = payload.config.collections.filter((c)=>c.versions?.drafts && typeof c.versions.drafts === 'object' && c.versions.drafts.localizeStatus);
18
+ const globals = payload.config.globals.filter((g)=>g.versions?.drafts && typeof g.versions.drafts === 'object' && g.versions.drafts.localizeStatus);
19
+ payload.logger.info({
20
+ msg: `Starting localize-status migration for ${collections.length} collection(s) and ${globals.length} global(s)`
21
+ });
22
+ for (const collection of collections){
23
+ await migratePostgresLocalizeStatus({
24
+ collectionSlug: collection.slug,
25
+ db,
26
+ payload,
27
+ req,
28
+ sql
29
+ });
30
+ await _cleanupSnapshotColumn({
31
+ db,
32
+ payload,
33
+ sql,
34
+ versionsTable: `_${toSnakeCase(collection.slug)}_v`
35
+ });
36
+ }
37
+ for (const global of globals){
38
+ await migratePostgresLocalizeStatus({
39
+ db,
40
+ globalSlug: global.slug,
41
+ payload,
42
+ req,
43
+ sql
44
+ });
45
+ await _cleanupSnapshotColumn({
46
+ db,
47
+ payload,
48
+ sql,
49
+ versionsTable: `_${toSnakeCase(global.slug)}_v`
50
+ });
51
+ }
52
+ payload.logger.info({
53
+ msg: 'localize-status migration completed successfully'
54
+ });
55
+ }
56
+ async function _cleanupSnapshotColumn({ db, payload, sql, versionsTable }) {
57
+ const schemaName = db.schemaName ?? 'public';
58
+ const columnCheck = await db.execute({
59
+ drizzle: db.drizzle,
60
+ sql: sql`
61
+ SELECT EXISTS (
62
+ SELECT FROM information_schema.columns
63
+ WHERE table_schema = ${schemaName}
64
+ AND table_name = ${versionsTable}
65
+ AND column_name = 'snapshot'
66
+ ) as exists
67
+ `
68
+ });
69
+ if (!columnCheck.rows[0]?.exists) {
70
+ return;
71
+ }
72
+ const deleteResult = await db.execute({
73
+ drizzle: db.drizzle,
74
+ sql: sql`
75
+ DELETE FROM ${sql.identifier(versionsTable)} WHERE snapshot = true
76
+ `
77
+ });
78
+ if (deleteResult.rowCount > 0) {
79
+ payload.logger.info({
80
+ msg: `Deleted ${deleteResult.rowCount} snapshot rows from ${versionsTable}`
81
+ });
82
+ }
83
+ await db.execute({
84
+ drizzle: db.drizzle,
85
+ sql: sql`
86
+ ALTER TABLE ${sql.identifier(versionsTable)} DROP COLUMN snapshot
87
+ `
88
+ });
89
+ payload.logger.info({
90
+ msg: `Dropped snapshot column from ${versionsTable}`
91
+ });
92
+ }
93
+
94
+ //# sourceMappingURL=migrateLocalizeStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/predefinedMigrations/migrateLocalizeStatus.ts"],"sourcesContent":["import type { Payload, PayloadRequest } from 'payload'\n\nimport { migratePostgresLocalizeStatus } from '@payloadcms/drizzle/postgres'\nimport { toSnakeCase } from 'payload/migrations'\n\n/**\n * Migrate all collections and globals with per-locale status enabled to use per-locale _status.\n *\n * This migration:\n * 1. Converts version._status from a scalar string to a locale-keyed object for each entity\n * 2. Deletes all snapshot=true rows from each version table\n * 3. Drops the `snapshot` column from each version table\n */\nexport async function migrateLocalizeStatus({\n db,\n payload,\n req,\n sql,\n}: {\n db: any\n payload: Payload\n req: PayloadRequest\n sql: any\n}): Promise<void> {\n if (!payload.config.localization) {\n payload.logger.info({\n msg: 'Localization not enabled, skipping localize-status migration',\n })\n return\n }\n\n const collections = payload.config.collections.filter(\n (c) =>\n c.versions?.drafts &&\n typeof c.versions.drafts === 'object' &&\n c.versions.drafts.localizeStatus,\n )\n const globals = payload.config.globals.filter(\n (g) =>\n g.versions?.drafts &&\n typeof g.versions.drafts === 'object' &&\n g.versions.drafts.localizeStatus,\n )\n\n payload.logger.info({\n msg: `Starting localize-status migration for ${collections.length} collection(s) and ${globals.length} global(s)`,\n })\n\n for (const collection of collections) {\n await migratePostgresLocalizeStatus({ collectionSlug: collection.slug, db, payload, req, sql })\n await _cleanupSnapshotColumn({\n db,\n payload,\n sql,\n versionsTable: `_${toSnakeCase(collection.slug)}_v`,\n })\n }\n\n for (const global of globals) {\n await migratePostgresLocalizeStatus({ db, globalSlug: global.slug, payload, req, sql })\n await _cleanupSnapshotColumn({\n db,\n payload,\n sql,\n versionsTable: `_${toSnakeCase(global.slug)}_v`,\n })\n }\n\n payload.logger.info({ msg: 'localize-status migration completed successfully' })\n}\n\nasync function _cleanupSnapshotColumn({\n db,\n payload,\n sql,\n versionsTable,\n}: {\n db: any\n payload: Payload\n sql: any\n versionsTable: string\n}): Promise<void> {\n const schemaName = db.schemaName ?? 'public'\n\n const columnCheck = await db.execute({\n drizzle: db.drizzle,\n sql: sql`\n SELECT EXISTS (\n SELECT FROM information_schema.columns\n WHERE table_schema = ${schemaName}\n AND table_name = ${versionsTable}\n AND column_name = 'snapshot'\n ) as exists\n `,\n })\n\n if (!columnCheck.rows[0]?.exists) {\n return\n }\n\n const deleteResult = await db.execute({\n drizzle: db.drizzle,\n sql: sql`\n DELETE FROM ${sql.identifier(versionsTable)} WHERE snapshot = true\n `,\n })\n\n if (deleteResult.rowCount > 0) {\n payload.logger.info({\n msg: `Deleted ${deleteResult.rowCount} snapshot rows from ${versionsTable}`,\n })\n }\n\n await db.execute({\n drizzle: db.drizzle,\n sql: sql`\n ALTER TABLE ${sql.identifier(versionsTable)} DROP COLUMN snapshot\n `,\n })\n\n payload.logger.info({ msg: `Dropped snapshot column from ${versionsTable}` })\n}\n"],"names":["migratePostgresLocalizeStatus","toSnakeCase","migrateLocalizeStatus","db","payload","req","sql","config","localization","logger","info","msg","collections","filter","c","versions","drafts","localizeStatus","globals","g","length","collection","collectionSlug","slug","_cleanupSnapshotColumn","versionsTable","global","globalSlug","schemaName","columnCheck","execute","drizzle","rows","exists","deleteResult","identifier","rowCount"],"mappings":"AAEA,SAASA,6BAA6B,QAAQ,+BAA8B;AAC5E,SAASC,WAAW,QAAQ,qBAAoB;AAEhD;;;;;;;CAOC,GACD,OAAO,eAAeC,sBAAsB,EAC1CC,EAAE,EACFC,OAAO,EACPC,GAAG,EACHC,GAAG,EAMJ;IACC,IAAI,CAACF,QAAQG,MAAM,CAACC,YAAY,EAAE;QAChCJ,QAAQK,MAAM,CAACC,IAAI,CAAC;YAClBC,KAAK;QACP;QACA;IACF;IAEA,MAAMC,cAAcR,QAAQG,MAAM,CAACK,WAAW,CAACC,MAAM,CACnD,CAACC,IACCA,EAAEC,QAAQ,EAAEC,UACZ,OAAOF,EAAEC,QAAQ,CAACC,MAAM,KAAK,YAC7BF,EAAEC,QAAQ,CAACC,MAAM,CAACC,cAAc;IAEpC,MAAMC,UAAUd,QAAQG,MAAM,CAACW,OAAO,CAACL,MAAM,CAC3C,CAACM,IACCA,EAAEJ,QAAQ,EAAEC,UACZ,OAAOG,EAAEJ,QAAQ,CAACC,MAAM,KAAK,YAC7BG,EAAEJ,QAAQ,CAACC,MAAM,CAACC,cAAc;IAGpCb,QAAQK,MAAM,CAACC,IAAI,CAAC;QAClBC,KAAK,CAAC,uCAAuC,EAAEC,YAAYQ,MAAM,CAAC,mBAAmB,EAAEF,QAAQE,MAAM,CAAC,UAAU,CAAC;IACnH;IAEA,KAAK,MAAMC,cAAcT,YAAa;QACpC,MAAMZ,8BAA8B;YAAEsB,gBAAgBD,WAAWE,IAAI;YAAEpB;YAAIC;YAASC;YAAKC;QAAI;QAC7F,MAAMkB,uBAAuB;YAC3BrB;YACAC;YACAE;YACAmB,eAAe,CAAC,CAAC,EAAExB,YAAYoB,WAAWE,IAAI,EAAE,EAAE,CAAC;QACrD;IACF;IAEA,KAAK,MAAMG,UAAUR,QAAS;QAC5B,MAAMlB,8BAA8B;YAAEG;YAAIwB,YAAYD,OAAOH,IAAI;YAAEnB;YAASC;YAAKC;QAAI;QACrF,MAAMkB,uBAAuB;YAC3BrB;YACAC;YACAE;YACAmB,eAAe,CAAC,CAAC,EAAExB,YAAYyB,OAAOH,IAAI,EAAE,EAAE,CAAC;QACjD;IACF;IAEAnB,QAAQK,MAAM,CAACC,IAAI,CAAC;QAAEC,KAAK;IAAmD;AAChF;AAEA,eAAea,uBAAuB,EACpCrB,EAAE,EACFC,OAAO,EACPE,GAAG,EACHmB,aAAa,EAMd;IACC,MAAMG,aAAazB,GAAGyB,UAAU,IAAI;IAEpC,MAAMC,cAAc,MAAM1B,GAAG2B,OAAO,CAAC;QACnCC,SAAS5B,GAAG4B,OAAO;QACnBzB,KAAKA,GAAG,CAAC;;;6BAGgB,EAAEsB,WAAW;yBACjB,EAAEH,cAAc;;;IAGrC,CAAC;IACH;IAEA,IAAI,CAACI,YAAYG,IAAI,CAAC,EAAE,EAAEC,QAAQ;QAChC;IACF;IAEA,MAAMC,eAAe,MAAM/B,GAAG2B,OAAO,CAAC;QACpCC,SAAS5B,GAAG4B,OAAO;QACnBzB,KAAKA,GAAG,CAAC;kBACK,EAAEA,IAAI6B,UAAU,CAACV,eAAe;IAC9C,CAAC;IACH;IAEA,IAAIS,aAAaE,QAAQ,GAAG,GAAG;QAC7BhC,QAAQK,MAAM,CAACC,IAAI,CAAC;YAClBC,KAAK,CAAC,QAAQ,EAAEuB,aAAaE,QAAQ,CAAC,oBAAoB,EAAEX,eAAe;QAC7E;IACF;IAEA,MAAMtB,GAAG2B,OAAO,CAAC;QACfC,SAAS5B,GAAG4B,OAAO;QACnBzB,KAAKA,GAAG,CAAC;kBACK,EAAEA,IAAI6B,UAAU,CAACV,eAAe;IAC9C,CAAC;IACH;IAEArB,QAAQK,MAAM,CAACC,IAAI,CAAC;QAAEC,KAAK,CAAC,6BAA6B,EAAEc,eAAe;IAAC;AAC7E"}
@@ -0,0 +1,94 @@
1
+ import { migratePostgresLocalizeStatus } from '@payloadcms/drizzle/postgres';
2
+ import { toSnakeCase } from 'payload/migrations';
3
+ /**
4
+ * Migrate all collections and globals with per-locale status enabled to use per-locale _status.
5
+ *
6
+ * This migration:
7
+ * 1. Converts version._status from a scalar string to a locale-keyed object for each entity
8
+ * 2. Deletes all snapshot=true rows from each version table
9
+ * 3. Drops the `snapshot` column from each version table
10
+ */ export async function migrateLocalizeStatus({ db, payload, req, sql }) {
11
+ if (!payload.config.localization) {
12
+ payload.logger.info({
13
+ msg: 'Localization not enabled, skipping localize-status migration'
14
+ });
15
+ return;
16
+ }
17
+ const collections = payload.config.collections.filter((c)=>c.versions?.drafts && typeof c.versions.drafts === 'object' && c.versions.drafts.localizeStatus);
18
+ const globals = payload.config.globals.filter((g)=>g.versions?.drafts && typeof g.versions.drafts === 'object' && g.versions.drafts.localizeStatus);
19
+ payload.logger.info({
20
+ msg: `Starting localize-status migration for ${collections.length} collection(s) and ${globals.length} global(s)`
21
+ });
22
+ for (const collection of collections){
23
+ await migratePostgresLocalizeStatus({
24
+ collectionSlug: collection.slug,
25
+ db,
26
+ payload,
27
+ req,
28
+ sql
29
+ });
30
+ await _cleanupSnapshotColumn({
31
+ db,
32
+ payload,
33
+ sql,
34
+ versionsTable: `_${toSnakeCase(collection.slug)}_v`
35
+ });
36
+ }
37
+ for (const global of globals){
38
+ await migratePostgresLocalizeStatus({
39
+ db,
40
+ globalSlug: global.slug,
41
+ payload,
42
+ req,
43
+ sql
44
+ });
45
+ await _cleanupSnapshotColumn({
46
+ db,
47
+ payload,
48
+ sql,
49
+ versionsTable: `_${toSnakeCase(global.slug)}_v`
50
+ });
51
+ }
52
+ payload.logger.info({
53
+ msg: 'localize-status migration completed successfully'
54
+ });
55
+ }
56
+ async function _cleanupSnapshotColumn({ db, payload, sql, versionsTable }) {
57
+ const schemaName = db.schemaName ?? 'public';
58
+ const columnCheck = await db.execute({
59
+ drizzle: db.drizzle,
60
+ sql: sql`
61
+ SELECT EXISTS (
62
+ SELECT FROM information_schema.columns
63
+ WHERE table_schema = ${schemaName}
64
+ AND table_name = ${versionsTable}
65
+ AND column_name = 'snapshot'
66
+ ) as exists
67
+ `
68
+ });
69
+ if (!columnCheck.rows[0]?.exists) {
70
+ return;
71
+ }
72
+ const deleteResult = await db.execute({
73
+ drizzle: db.drizzle,
74
+ sql: sql`
75
+ DELETE FROM ${sql.identifier(versionsTable)} WHERE snapshot = true
76
+ `
77
+ });
78
+ if (deleteResult.rowCount > 0) {
79
+ payload.logger.info({
80
+ msg: `Deleted ${deleteResult.rowCount} snapshot rows from ${versionsTable}`
81
+ });
82
+ }
83
+ await db.execute({
84
+ drizzle: db.drizzle,
85
+ sql: sql`
86
+ ALTER TABLE ${sql.identifier(versionsTable)} DROP COLUMN snapshot
87
+ `
88
+ });
89
+ payload.logger.info({
90
+ msg: `Dropped snapshot column from ${versionsTable}`
91
+ });
92
+ }
93
+
94
+ //# sourceMappingURL=migrateLocalizeStatus.js.map
@@ -0,0 +1,11 @@
1
+ const imports = `import { migratePostgresV2toV3 } from '@payloadcms/db-postgres/migration-utils'`;
2
+ const upSQL = ` await migratePostgresV2toV3({
3
+ // enables logging of changes that will be made to the database
4
+ debug: false,
5
+ payload,
6
+ req,
7
+ })
8
+ `;
9
+ export { imports, upSQL };
10
+
11
+ //# sourceMappingURL=relationships-v2-v3.js.map
@@ -0,0 +1,3 @@
1
+ import type { DynamicMigrationTemplate } from 'payload';
2
+ export declare const dynamic: DynamicMigrationTemplate;
3
+ //# sourceMappingURL=sizes-to-variants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sizes-to-variants.d.ts","sourceRoot":"","sources":["../../src/predefinedMigrations/sizes-to-variants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAIvD,eAAO,MAAM,OAAO,EAAE,wBAEpB,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { buildDynamicPredefinedSizesToVariantsMigration } from '@payloadcms/drizzle';
2
+ export const dynamic = buildDynamicPredefinedSizesToVariantsMigration({
3
+ packageName: '@payloadcms/db-postgres'
4
+ });
5
+
6
+ //# sourceMappingURL=sizes-to-variants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/predefinedMigrations/sizes-to-variants.ts"],"sourcesContent":["import type { DynamicMigrationTemplate } from 'payload'\n\nimport { buildDynamicPredefinedSizesToVariantsMigration } from '@payloadcms/drizzle'\n\nexport const dynamic: DynamicMigrationTemplate = buildDynamicPredefinedSizesToVariantsMigration({\n packageName: '@payloadcms/db-postgres',\n})\n"],"names":["buildDynamicPredefinedSizesToVariantsMigration","dynamic","packageName"],"mappings":"AAEA,SAASA,8CAA8C,QAAQ,sBAAqB;AAEpF,OAAO,MAAMC,UAAoCD,+CAA+C;IAC9FE,aAAa;AACf,GAAE"}
@@ -0,0 +1,6 @@
1
+ import { buildDynamicPredefinedSizesToVariantsMigration } from '@payloadcms/drizzle';
2
+ export const dynamic = buildDynamicPredefinedSizesToVariantsMigration({
3
+ packageName: '@payloadcms/db-postgres'
4
+ });
5
+
6
+ //# sourceMappingURL=sizes-to-variants.js.map
package/dist/types.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { DrizzleAdapter } from '@payloadcms/drizzle';
2
- import type { BasePostgresAdapter, GenericEnum, MigrateDownArgs, MigrateUpArgs, PostgresSchemaHook } from '@payloadcms/drizzle/postgres';
2
+ import type { BasePostgresAdapter, GenericEnum, MigrateDownArgs, MigrateUpArgs, PostgresQueryConfig, PostgresSchemaHook } from '@payloadcms/drizzle/postgres';
3
3
  import type { DrizzleConfig } from 'drizzle-orm';
4
4
  import type { NodePgDatabase } from 'drizzle-orm/node-postgres';
5
5
  import type { PgSchema, PgTableFn, PgTransactionConfig, PgWithReplicas } from 'drizzle-orm/pg-core';
@@ -51,6 +51,11 @@ export type Args = {
51
51
  up: (args: MigrateUpArgs) => Promise<void>;
52
52
  }[];
53
53
  push?: boolean;
54
+ /**
55
+ * Customize how Payload's Drizzle query operators (`contains`, `like`, `not_like`, etc.) are
56
+ * built, for example to make text matching accent-insensitive with `postgresUnaccent()`.
57
+ */
58
+ query?: PostgresQueryConfig;
54
59
  readReplicas?: string[];
55
60
  /**
56
61
  * How long (ms) after a write to keep routing reads to the primary instead
@@ -82,7 +87,7 @@ export type PostgresAdapter = {
82
87
  poolOptions: PoolConfig;
83
88
  } & BasePostgresAdapter;
84
89
  declare module 'payload' {
85
- interface DatabaseAdapter extends Omit<Args, 'idType' | 'logger' | 'migrationDir' | 'pool'>, DrizzleAdapter {
90
+ interface DatabaseAdapter extends Omit<Args, 'extensions' | 'idType' | 'logger' | 'migrationDir' | 'pool'>, DrizzleAdapter {
86
91
  afterSchemaInit: PostgresSchemaHook[];
87
92
  beforeSchemaInit: PostgresSchemaHook[];
88
93
  beginTransaction: (options?: PgTransactionConfig) => Promise<null | number | string>;
@@ -94,7 +99,7 @@ declare module 'payload' {
94
99
  * Used for returning properly formed errors from unique fields
95
100
  */
96
101
  fieldConstraints: Record<string, Record<string, string>>;
97
- idType: Args['idType'];
102
+ idType: NonNullable<Args['idType']>;
98
103
  initializing: Promise<void>;
99
104
  localesSuffix?: string;
100
105
  logger: DrizzleConfig['logger'];
@@ -111,13 +116,16 @@ declare module 'payload' {
111
116
  up: (args: MigrateUpArgs) => Promise<void>;
112
117
  }[];
113
118
  push: boolean;
119
+ readReplicasAfterWriteInterval: number;
114
120
  rejectInitializing: () => void;
115
121
  relationshipsSuffix?: string;
116
122
  resolveInitializing: () => void;
117
123
  schema: Record<string, unknown>;
118
124
  schemaName?: Args['schemaName'];
125
+ sessions: DrizzleAdapter['sessions'];
119
126
  tableNameMap: Map<string, string>;
120
127
  tablesFilter?: string[];
128
+ transactionOptions: PgTransactionConfig | undefined;
121
129
  versionsSuffix?: string;
122
130
  }
123
131
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/types.ts"],"sourcesContent":["import type { DrizzleAdapter } from '@payloadcms/drizzle'\nimport type {\n BasePostgresAdapter,\n GenericEnum,\n MigrateDownArgs,\n MigrateUpArgs,\n PostgresSchemaHook,\n} from '@payloadcms/drizzle/postgres'\nimport type { DrizzleConfig } from 'drizzle-orm'\nimport type { NodePgDatabase } from 'drizzle-orm/node-postgres'\nimport type { PgSchema, PgTableFn, PgTransactionConfig, PgWithReplicas } from 'drizzle-orm/pg-core'\nimport type pg from 'pg'\nimport type { Pool, PoolConfig } from 'pg'\n\ntype PgDependency = typeof pg\n\nexport type Args = {\n /**\n * Transform the schema after it's built.\n * You can use it to customize the schema with features that aren't supported by Payload.\n * Examples may include: composite indices, generated columns, vectors\n */\n afterSchemaInit?: PostgresSchemaHook[]\n /**\n * Enable this flag if you want to thread your own ID to create operation data, for example:\n * ```ts\n * // doc created with id 1\n * const doc = await payload.create({ collection: 'posts', data: {id: 1, title: \"my title\"}})\n * ```\n */\n allowIDOnCreate?: boolean\n /**\n * Transform the schema before it's built.\n * You can use it to preserve an existing database schema and if there are any collissions Payload will override them.\n * To generate Drizzle schema from the database, see [Drizzle Kit introspection](https://orm.drizzle.team/kit-docs/commands#introspect--pull)\n */\n beforeSchemaInit?: PostgresSchemaHook[]\n /**\n * Store blocks as JSON column instead of storing them in relational structure.\n */\n blocksAsJSON?: boolean\n /**\n * Pass `true` to disale auto database creation if it doesn't exist.\n * @default false\n */\n disableCreateDatabase?: boolean\n extensions?: string[]\n /** Generated schema from payload generate:db-schema file path */\n generateSchemaOutputFile?: string\n idType?: 'serial' | 'uuid' | 'uuidv7'\n localesSuffix?: string\n logger?: DrizzleConfig['logger']\n migrationDir?: string\n pg?: PgDependency\n pool: PoolConfig\n prodMigrations?: {\n down: (args: MigrateDownArgs) => Promise<void>\n name: string\n up: (args: MigrateUpArgs) => Promise<void>\n }[]\n push?: boolean\n readReplicas?: string[]\n /**\n * How long (ms) after a write to keep routing reads to the primary instead\n * of a read replica. Prevents stale reads caused by replication lag.\n * Only relevant when `readReplicas` is set.\n * @default 2000\n */\n readReplicasAfterWriteInterval?: number\n relationshipsSuffix?: string\n /**\n * The schema name to use for the database\n *\n * @experimental This only works when there are not other tables or enums of the same name in the database under a different schema. Awaiting fix from Drizzle.\n */\n schemaName?: string\n tablesFilter?: string[]\n transactionOptions?: false | PgTransactionConfig\n versionsSuffix?: string\n}\n\nexport interface GeneratedDatabaseSchema {\n schemaUntyped: Record<string, unknown>\n}\n\ntype ResolveSchemaType<T> = 'schema' extends keyof T\n ? T['schema']\n : GeneratedDatabaseSchema['schemaUntyped']\n\ntype Drizzle =\n | NodePgDatabase<ResolveSchemaType<GeneratedDatabaseSchema>>\n | PgWithReplicas<NodePgDatabase<ResolveSchemaType<GeneratedDatabaseSchema>>>\n\nexport type PostgresAdapter = {\n drizzle: Drizzle\n pg: PgDependency\n pool: Pool\n poolOptions: PoolConfig\n} & BasePostgresAdapter\n\ndeclare module 'payload' {\n export interface DatabaseAdapter\n extends Omit<Args, 'idType' | 'logger' | 'migrationDir' | 'pool'>,\n DrizzleAdapter {\n afterSchemaInit: PostgresSchemaHook[]\n\n beforeSchemaInit: PostgresSchemaHook[]\n beginTransaction: (options?: PgTransactionConfig) => Promise<null | number | string>\n drizzle: Drizzle\n enums: Record<string, GenericEnum>\n extensions: Record<string, boolean>\n /**\n * An object keyed on each table, with a key value pair where the constraint name is the key, followed by the dot-notation field name\n * Used for returning properly formed errors from unique fields\n */\n fieldConstraints: Record<string, Record<string, string>>\n idType: Args['idType']\n initializing: Promise<void>\n localesSuffix?: string\n logger: DrizzleConfig['logger']\n /** Optionally inject your own node-postgres. This is required if you wish to instrument the driver with @payloadcms/plugin-sentry. */\n pg?: PgDependency\n pgSchema?: { table: PgTableFn } | PgSchema\n pool: Pool\n poolOptions: Args['pool']\n prodMigrations?: {\n down: (args: MigrateDownArgs) => Promise<void>\n name: string\n up: (args: MigrateUpArgs) => Promise<void>\n }[]\n push: boolean\n rejectInitializing: () => void\n relationshipsSuffix?: string\n resolveInitializing: () => void\n schema: Record<string, unknown>\n schemaName?: Args['schemaName']\n tableNameMap: Map<string, string>\n tablesFilter?: string[]\n versionsSuffix?: string\n }\n}\n"],"names":[],"mappings":"AA6FA,WAKuB"}
1
+ {"version":3,"sources":["../src/types.ts"],"sourcesContent":["import type { DrizzleAdapter } from '@payloadcms/drizzle'\nimport type {\n BasePostgresAdapter,\n GenericEnum,\n MigrateDownArgs,\n MigrateUpArgs,\n PostgresQueryConfig,\n PostgresSchemaHook,\n} from '@payloadcms/drizzle/postgres'\nimport type { DrizzleConfig } from 'drizzle-orm'\nimport type { NodePgDatabase } from 'drizzle-orm/node-postgres'\nimport type { PgSchema, PgTableFn, PgTransactionConfig, PgWithReplicas } from 'drizzle-orm/pg-core'\nimport type pg from 'pg'\nimport type { Pool, PoolConfig } from 'pg'\n\ntype PgDependency = typeof pg\n\nexport type Args = {\n /**\n * Transform the schema after it's built.\n * You can use it to customize the schema with features that aren't supported by Payload.\n * Examples may include: composite indices, generated columns, vectors\n */\n afterSchemaInit?: PostgresSchemaHook[]\n /**\n * Enable this flag if you want to thread your own ID to create operation data, for example:\n * ```ts\n * // doc created with id 1\n * const doc = await payload.create({ collection: 'posts', data: {id: 1, title: \"my title\"}})\n * ```\n */\n allowIDOnCreate?: boolean\n /**\n * Transform the schema before it's built.\n * You can use it to preserve an existing database schema and if there are any collissions Payload will override them.\n * To generate Drizzle schema from the database, see [Drizzle Kit introspection](https://orm.drizzle.team/kit-docs/commands#introspect--pull)\n */\n beforeSchemaInit?: PostgresSchemaHook[]\n /**\n * Store blocks as JSON column instead of storing them in relational structure.\n */\n blocksAsJSON?: boolean\n /**\n * Pass `true` to disale auto database creation if it doesn't exist.\n * @default false\n */\n disableCreateDatabase?: boolean\n extensions?: string[]\n /** Generated schema from payload generate:db-schema file path */\n generateSchemaOutputFile?: string\n idType?: 'serial' | 'uuid' | 'uuidv7'\n localesSuffix?: string\n logger?: DrizzleConfig['logger']\n migrationDir?: string\n pg?: PgDependency\n pool: PoolConfig\n prodMigrations?: {\n down: (args: MigrateDownArgs) => Promise<void>\n name: string\n up: (args: MigrateUpArgs) => Promise<void>\n }[]\n push?: boolean\n /**\n * Customize how Payload's Drizzle query operators (`contains`, `like`, `not_like`, etc.) are\n * built, for example to make text matching accent-insensitive with `postgresUnaccent()`.\n */\n query?: PostgresQueryConfig\n readReplicas?: string[]\n /**\n * How long (ms) after a write to keep routing reads to the primary instead\n * of a read replica. Prevents stale reads caused by replication lag.\n * Only relevant when `readReplicas` is set.\n * @default 2000\n */\n readReplicasAfterWriteInterval?: number\n relationshipsSuffix?: string\n /**\n * The schema name to use for the database\n *\n * @experimental This only works when there are not other tables or enums of the same name in the database under a different schema. Awaiting fix from Drizzle.\n */\n schemaName?: string\n tablesFilter?: string[]\n transactionOptions?: false | PgTransactionConfig\n versionsSuffix?: string\n}\n\nexport interface GeneratedDatabaseSchema {\n schemaUntyped: Record<string, unknown>\n}\n\ntype ResolveSchemaType<T> = 'schema' extends keyof T\n ? T['schema']\n : GeneratedDatabaseSchema['schemaUntyped']\n\ntype Drizzle =\n | NodePgDatabase<ResolveSchemaType<GeneratedDatabaseSchema>>\n | PgWithReplicas<NodePgDatabase<ResolveSchemaType<GeneratedDatabaseSchema>>>\n\nexport type PostgresAdapter = {\n drizzle: Drizzle\n pg: PgDependency\n pool: Pool\n poolOptions: PoolConfig\n} & BasePostgresAdapter\n\ndeclare module 'payload' {\n export interface DatabaseAdapter\n extends Omit<Args, 'extensions' | 'idType' | 'logger' | 'migrationDir' | 'pool'>,\n DrizzleAdapter {\n afterSchemaInit: PostgresSchemaHook[]\n\n beforeSchemaInit: PostgresSchemaHook[]\n beginTransaction: (options?: PgTransactionConfig) => Promise<null | number | string>\n drizzle: Drizzle\n enums: Record<string, GenericEnum>\n extensions: Record<string, boolean>\n /**\n * An object keyed on each table, with a key value pair where the constraint name is the key, followed by the dot-notation field name\n * Used for returning properly formed errors from unique fields\n */\n fieldConstraints: Record<string, Record<string, string>>\n idType: NonNullable<Args['idType']>\n initializing: Promise<void>\n localesSuffix?: string\n logger: DrizzleConfig['logger']\n /** Optionally inject your own node-postgres. This is required if you wish to instrument the driver with @payloadcms/plugin-sentry. */\n pg?: PgDependency\n pgSchema?: { table: PgTableFn } | PgSchema\n pool: Pool\n poolOptions: Args['pool']\n prodMigrations?: {\n down: (args: MigrateDownArgs) => Promise<void>\n name: string\n up: (args: MigrateUpArgs) => Promise<void>\n }[]\n push: boolean\n readReplicasAfterWriteInterval: number\n rejectInitializing: () => void\n relationshipsSuffix?: string\n resolveInitializing: () => void\n schema: Record<string, unknown>\n schemaName?: Args['schemaName']\n sessions: DrizzleAdapter['sessions']\n tableNameMap: Map<string, string>\n tablesFilter?: string[]\n transactionOptions: PgTransactionConfig | undefined\n versionsSuffix?: string\n }\n}\n"],"names":[],"mappings":"AAmGA,WAKuB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/db-postgres",
3
- "version": "4.0.0-internal.38b7f1d",
3
+ "version": "4.0.0-internal.3b50481",
4
4
  "description": "The officially supported Postgres database adapter for Payload",
5
5
  "homepage": "https://payloadcms.com",
6
6
  "repository": {
@@ -25,11 +25,6 @@
25
25
  "types": "./dist/index.d.ts",
26
26
  "default": "./dist/index.js"
27
27
  },
28
- "./types": {
29
- "import": "./dist/exports/types-deprecated.js",
30
- "types": "./dist/exports/types-deprecated.d.ts",
31
- "default": "./dist/exports/types-deprecated.js"
32
- },
33
28
  "./migration-utils": {
34
29
  "import": "./dist/exports/migration-utils.js",
35
30
  "types": "./dist/exports/migration-utils.d.ts",
@@ -64,24 +59,24 @@
64
59
  ],
65
60
  "dependencies": {
66
61
  "@types/pg": "8.20.0",
67
- "console-table-printer": "2.12.1",
62
+ "console-table-printer": "2.15.0",
68
63
  "drizzle-kit": "0.31.7",
69
64
  "drizzle-orm": "0.45.2",
70
65
  "pg": "8.20.0",
71
66
  "prompts": "2.4.2",
72
67
  "to-snake-case": "1.0.0",
73
68
  "uuid": "14.0.0",
74
- "@payloadcms/drizzle": "4.0.0-internal.38b7f1d"
69
+ "@payloadcms/drizzle": "4.0.0-internal.3b50481"
75
70
  },
76
71
  "devDependencies": {
77
72
  "@hyrious/esbuild-plugin-commonjs": "0.2.6",
78
73
  "@types/to-snake-case": "1.0.0",
79
74
  "esbuild": "0.27.1",
80
- "payload": "4.0.0-internal.38b7f1d",
81
- "@payloadcms/eslint-config": "3.28.0"
75
+ "@payloadcms/eslint-config": "3.28.0",
76
+ "payload": "4.0.0-internal.3b50481"
82
77
  },
83
78
  "peerDependencies": {
84
- "payload": "4.0.0-internal.38b7f1d"
79
+ "payload": "4.0.0-internal.3b50481"
85
80
  },
86
81
  "scripts": {
87
82
  "build": "rimraf .dist && rimraf tsconfig.tsbuildinfo && pnpm build:types && pnpm build:swc && pnpm build:esbuild && pnpm renamePredefinedMigrations",
@@ -1,14 +0,0 @@
1
- import type { Args as _Args, GeneratedDatabaseSchema as _GeneratedDatabaseSchema, PostgresAdapter as _PostgresAdapter } from '../types.js';
2
- /**
3
- * @deprecated - import from `@payloadcms/db-postgres` instead
4
- */
5
- export type Args = _Args;
6
- /**
7
- * @deprecated - import from `@payloadcms/db-postgres` instead
8
- */
9
- export type GeneratedDatabaseSchema = _GeneratedDatabaseSchema;
10
- /**
11
- * @deprecated - import from `@payloadcms/db-postgres` instead
12
- */
13
- export type PostgresAdapter = _PostgresAdapter;
14
- //# sourceMappingURL=types-deprecated.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types-deprecated.d.ts","sourceRoot":"","sources":["../../src/exports/types-deprecated.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,IAAI,KAAK,EACb,uBAAuB,IAAI,wBAAwB,EACnD,eAAe,IAAI,gBAAgB,EACpC,MAAM,aAAa,CAAA;AAEpB;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,KAAK,CAAA;AAExB;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,wBAAwB,CAAA;AAE9D;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAA"}
@@ -1,5 +0,0 @@
1
- /**
2
- * @deprecated - import from `@payloadcms/db-postgres` instead
3
- */ export { };
4
-
5
- //# sourceMappingURL=types-deprecated.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/exports/types-deprecated.ts"],"sourcesContent":["import type {\n Args as _Args,\n GeneratedDatabaseSchema as _GeneratedDatabaseSchema,\n PostgresAdapter as _PostgresAdapter,\n} from '../types.js'\n\n/**\n * @deprecated - import from `@payloadcms/db-postgres` instead\n */\nexport type Args = _Args\n\n/**\n * @deprecated - import from `@payloadcms/db-postgres` instead\n */\nexport type GeneratedDatabaseSchema = _GeneratedDatabaseSchema\n\n/**\n * @deprecated - import from `@payloadcms/db-postgres` instead\n */\nexport type PostgresAdapter = _PostgresAdapter\n"],"names":[],"mappings":"AAgBA;;CAEC,GACD,WAA8C"}