@prisma-next/target-postgres 0.4.1 → 0.4.3
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.
- package/dist/codec-ids-CojIXVf9.mjs +29 -0
- package/dist/codec-ids-CojIXVf9.mjs.map +1 -0
- package/dist/codec-ids.d.mts +28 -0
- package/dist/codec-ids.d.mts.map +1 -0
- package/dist/codec-ids.mjs +3 -0
- package/dist/codec-types.d.mts +42 -0
- package/dist/codec-types.d.mts.map +1 -0
- package/dist/codec-types.mjs +3 -0
- package/dist/codecs-CE5EUsNM.d.mts +323 -0
- package/dist/codecs-CE5EUsNM.d.mts.map +1 -0
- package/dist/codecs-dzZ_dMpK.mjs +290 -0
- package/dist/codecs-dzZ_dMpK.mjs.map +1 -0
- package/dist/codecs.d.mts +2 -0
- package/dist/codecs.mjs +3 -0
- package/dist/control.d.mts +1 -1
- package/dist/control.mjs +24 -1989
- package/dist/control.mjs.map +1 -1
- package/dist/data-transform-C83dy0vk.mjs +41 -0
- package/dist/data-transform-C83dy0vk.mjs.map +1 -0
- package/dist/data-transform-D8x5m1YV.d.mts +38 -0
- package/dist/data-transform-D8x5m1YV.d.mts.map +1 -0
- package/dist/data-transform.d.mts +2 -0
- package/dist/data-transform.mjs +3 -0
- package/dist/default-normalizer-DNOpRoOF.mjs +131 -0
- package/dist/default-normalizer-DNOpRoOF.mjs.map +1 -0
- package/dist/default-normalizer.d.mts +19 -0
- package/dist/default-normalizer.d.mts.map +1 -0
- package/dist/default-normalizer.mjs +3 -0
- package/dist/{descriptor-meta-DkvCmY98.mjs → descriptor-meta-BVoVtyp-.mjs} +1 -1
- package/dist/{descriptor-meta-DkvCmY98.mjs.map → descriptor-meta-BVoVtyp-.mjs.map} +1 -1
- package/dist/errors-AFvEPZ1R.mjs +34 -0
- package/dist/errors-AFvEPZ1R.mjs.map +1 -0
- package/dist/errors.d.mts +27 -0
- package/dist/errors.d.mts.map +1 -0
- package/dist/errors.mjs +3 -0
- package/dist/issue-planner-CFjB0_oO.mjs +879 -0
- package/dist/issue-planner-CFjB0_oO.mjs.map +1 -0
- package/dist/issue-planner.d.mts +85 -0
- package/dist/issue-planner.d.mts.map +1 -0
- package/dist/issue-planner.mjs +3 -0
- package/dist/migration.d.mts +5 -79
- package/dist/migration.d.mts.map +1 -1
- package/dist/migration.mjs +6 -428
- package/dist/migration.mjs.map +1 -1
- package/dist/native-type-normalizer-CInai_oY.mjs +38 -0
- package/dist/native-type-normalizer-CInai_oY.mjs.map +1 -0
- package/dist/native-type-normalizer.d.mts +18 -0
- package/dist/native-type-normalizer.d.mts.map +1 -0
- package/dist/native-type-normalizer.mjs +3 -0
- package/dist/op-factory-call-BKlruaiC.mjs +605 -0
- package/dist/op-factory-call-BKlruaiC.mjs.map +1 -0
- package/dist/op-factory-call-C3bWXKSP.d.mts +304 -0
- package/dist/op-factory-call-C3bWXKSP.d.mts.map +1 -0
- package/dist/op-factory-call.d.mts +3 -0
- package/dist/op-factory-call.mjs +3 -0
- package/dist/pack.d.mts +1 -1
- package/dist/pack.mjs +1 -1
- package/dist/planner-B4ZSLHRI.mjs +98 -0
- package/dist/planner-B4ZSLHRI.mjs.map +1 -0
- package/dist/planner-ddl-builders-Dxvw1LHw.mjs +132 -0
- package/dist/planner-ddl-builders-Dxvw1LHw.mjs.map +1 -0
- package/dist/planner-ddl-builders.d.mts +22 -0
- package/dist/planner-ddl-builders.d.mts.map +1 -0
- package/dist/planner-ddl-builders.mjs +3 -0
- package/dist/planner-identity-values-Dju-o5GF.mjs +91 -0
- package/dist/planner-identity-values-Dju-o5GF.mjs.map +1 -0
- package/dist/planner-identity-values.d.mts +20 -0
- package/dist/planner-identity-values.d.mts.map +1 -0
- package/dist/planner-identity-values.mjs +3 -0
- package/dist/planner-produced-postgres-migration-C0GNhHGw.mjs +32 -0
- package/dist/planner-produced-postgres-migration-C0GNhHGw.mjs.map +1 -0
- package/dist/planner-produced-postgres-migration-Dw_mPMKt.d.mts +20 -0
- package/dist/planner-produced-postgres-migration-Dw_mPMKt.d.mts.map +1 -0
- package/dist/planner-produced-postgres-migration.d.mts +5 -0
- package/dist/planner-produced-postgres-migration.mjs +3 -0
- package/dist/planner-schema-lookup-B7lkypwn.mjs +29 -0
- package/dist/planner-schema-lookup-B7lkypwn.mjs.map +1 -0
- package/dist/planner-schema-lookup.d.mts +22 -0
- package/dist/planner-schema-lookup.d.mts.map +1 -0
- package/dist/planner-schema-lookup.mjs +3 -0
- package/dist/planner-sql-checks-7jkgm9TX.mjs +241 -0
- package/dist/planner-sql-checks-7jkgm9TX.mjs.map +1 -0
- package/dist/planner-sql-checks.d.mts +55 -0
- package/dist/planner-sql-checks.d.mts.map +1 -0
- package/dist/planner-sql-checks.mjs +3 -0
- package/dist/{planner-target-details-MXb3oeul.d.mts → planner-target-details-DH-azLu-.d.mts} +1 -1
- package/dist/{planner-target-details-MXb3oeul.d.mts.map → planner-target-details-DH-azLu-.d.mts.map} +1 -1
- package/dist/planner-target-details.d.mts +2 -0
- package/dist/planner-target-details.mjs +1 -0
- package/dist/planner.d.mts +74 -0
- package/dist/planner.d.mts.map +1 -0
- package/dist/planner.mjs +4 -0
- package/dist/postgres-migration-DcfWGqhe.d.mts +50 -0
- package/dist/postgres-migration-DcfWGqhe.d.mts.map +1 -0
- package/dist/postgres-migration-EGSlO4jO.mjs +52 -0
- package/dist/postgres-migration-EGSlO4jO.mjs.map +1 -0
- package/dist/render-ops-D6_DHdOK.mjs +8 -0
- package/dist/render-ops-D6_DHdOK.mjs.map +1 -0
- package/dist/render-ops.d.mts +11 -0
- package/dist/render-ops.d.mts.map +1 -0
- package/dist/render-ops.mjs +3 -0
- package/dist/render-typescript-Co3Emwgz.mjs +84 -0
- package/dist/render-typescript-Co3Emwgz.mjs.map +1 -0
- package/dist/render-typescript.d.mts +14 -0
- package/dist/render-typescript.d.mts.map +1 -0
- package/dist/render-typescript.mjs +3 -0
- package/dist/runtime.d.mts +15 -3
- package/dist/runtime.d.mts.map +1 -1
- package/dist/runtime.mjs +10 -1
- package/dist/runtime.mjs.map +1 -1
- package/dist/shared-Bxkt8pNO.d.mts +41 -0
- package/dist/shared-Bxkt8pNO.d.mts.map +1 -0
- package/dist/sql-utils-r-Lw535w.mjs +76 -0
- package/dist/sql-utils-r-Lw535w.mjs.map +1 -0
- package/dist/sql-utils.d.mts +59 -0
- package/dist/sql-utils.d.mts.map +1 -0
- package/dist/sql-utils.mjs +3 -0
- package/dist/statement-builders-CHqCtSfe.mjs +121 -0
- package/dist/statement-builders-CHqCtSfe.mjs.map +1 -0
- package/dist/statement-builders.d.mts +30 -0
- package/dist/statement-builders.d.mts.map +1 -0
- package/dist/statement-builders.mjs +3 -0
- package/dist/tables-BmdW_FWO.mjs +477 -0
- package/dist/tables-BmdW_FWO.mjs.map +1 -0
- package/dist/types-ClK03Ojd.d.mts +10 -0
- package/dist/types-ClK03Ojd.d.mts.map +1 -0
- package/dist/types.d.mts +2 -0
- package/dist/types.mjs +1 -0
- package/package.json +40 -20
- package/src/core/codec-ids.ts +30 -0
- package/src/core/codecs.ts +622 -0
- package/src/core/default-normalizer.ts +131 -0
- package/src/core/descriptor-meta.ts +1 -1
- package/src/core/errors.ts +33 -0
- package/src/core/migrations/op-factory-call.ts +1 -5
- package/src/core/migrations/operations/columns.ts +1 -1
- package/src/core/migrations/operations/constraints.ts +1 -1
- package/src/core/migrations/operations/data-transform.ts +35 -21
- package/src/core/migrations/operations/dependencies.ts +1 -1
- package/src/core/migrations/operations/enums.ts +1 -1
- package/src/core/migrations/operations/indexes.ts +1 -1
- package/src/core/migrations/operations/shared.ts +1 -1
- package/src/core/migrations/operations/tables.ts +1 -1
- package/src/core/migrations/planner-ddl-builders.ts +1 -1
- package/src/core/migrations/planner-produced-postgres-migration.ts +0 -1
- package/src/core/migrations/planner-recipes.ts +1 -1
- package/src/core/migrations/planner-sql-checks.ts +1 -1
- package/src/core/migrations/planner.ts +19 -15
- package/src/core/migrations/postgres-migration.ts +54 -1
- package/src/core/migrations/render-typescript.ts +23 -17
- package/src/core/migrations/runner.ts +47 -13
- package/src/core/migrations/statement-builders.ts +22 -6
- package/src/core/native-type-normalizer.ts +49 -0
- package/src/core/sql-utils.ts +104 -0
- package/src/exports/codec-ids.ts +1 -0
- package/src/exports/codec-types.ts +51 -0
- package/src/exports/codecs.ts +2 -0
- package/src/exports/data-transform.ts +1 -0
- package/src/exports/default-normalizer.ts +1 -0
- package/src/exports/errors.ts +1 -0
- package/src/exports/issue-planner.ts +1 -0
- package/src/exports/migration.ts +6 -0
- package/src/exports/native-type-normalizer.ts +1 -0
- package/src/exports/op-factory-call.ts +25 -0
- package/src/exports/planner-ddl-builders.ts +8 -0
- package/src/exports/planner-identity-values.ts +1 -0
- package/src/exports/planner-produced-postgres-migration.ts +1 -0
- package/src/exports/planner-schema-lookup.ts +6 -0
- package/src/exports/planner-sql-checks.ts +11 -0
- package/src/exports/planner-target-details.ts +1 -0
- package/src/exports/planner.ts +1 -0
- package/src/exports/render-ops.ts +1 -0
- package/src/exports/render-typescript.ts +1 -0
- package/src/exports/runtime.ts +19 -4
- package/src/exports/sql-utils.ts +7 -0
- package/src/exports/statement-builders.ts +7 -0
- package/src/exports/types.ts +1 -0
- package/dist/postgres-migration-BsHJHV9O.mjs +0 -2793
- package/dist/postgres-migration-BsHJHV9O.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tables-BmdW_FWO.mjs","names":["REFERENTIAL_ACTION_SQL: Record<ReferentialAction, string>","constraintDefs: string[]"],"sources":["../src/core/migrations/operations/shared.ts","../src/core/migrations/operations/columns.ts","../src/core/migrations/operations/constraints.ts","../src/core/migrations/operations/dependencies.ts","../src/core/migrations/operations/enums.ts","../src/core/migrations/operations/indexes.ts","../src/core/migrations/operations/tables.ts"],"sourcesContent":["import type { SqlMigrationPlanOperation } from '@prisma-next/family-sql/control';\nimport type { ReferentialAction } from '@prisma-next/sql-contract/types';\nimport { ifDefined } from '@prisma-next/utils/defined';\nimport { quoteIdentifier } from '../../sql-utils';\nimport type { OperationClass, PostgresPlanTargetDetails } from '../planner-target-details';\n\nexport type Op = SqlMigrationPlanOperation<PostgresPlanTargetDetails>;\n\n/**\n * Literal-args shape for a column definition consumed by `createTable` and\n * `addColumn`. Fully materialized: codec expansion and default rendering have\n * already happened in the wrapper.\n *\n * - `typeSql` is the column's DDL type string (e.g. `\"integer\"`, `\"SERIAL\"`,\n * `\"varchar(100)\"`), already produced by `buildColumnTypeSql` in the\n * call-factory wrapper.\n * - `defaultSql` is the full `DEFAULT …` clause (e.g. `\"DEFAULT 42\"`) or an\n * empty string when the column has no default, matching\n * `buildColumnDefaultSql`'s output.\n */\nexport interface ColumnSpec {\n readonly name: string;\n readonly typeSql: string;\n readonly defaultSql: string;\n readonly nullable: boolean;\n}\n\n/**\n * Literal-args shape for a foreign key definition. The referenced table is\n * assumed to live in the same schema as the constrained table.\n */\nexport interface ForeignKeySpec {\n readonly name: string;\n readonly columns: readonly string[];\n readonly references: {\n readonly table: string;\n readonly columns: readonly string[];\n };\n readonly onDelete?: ReferentialAction;\n readonly onUpdate?: ReferentialAction;\n}\n\nexport function step(description: string, sql: string) {\n return { description, sql };\n}\n\nexport function targetDetails(\n objectType: OperationClass,\n name: string,\n schema: string,\n table?: string,\n): { readonly id: 'postgres'; readonly details: PostgresPlanTargetDetails } {\n return {\n id: 'postgres',\n details: { schema, objectType, name, ...ifDefined('table', table) },\n };\n}\n\nexport function renderColumnDefinition(column: ColumnSpec): string {\n const parts = [\n quoteIdentifier(column.name),\n column.typeSql,\n column.defaultSql,\n column.nullable ? '' : 'NOT NULL',\n ].filter(Boolean);\n return parts.join(' ');\n}\n","import { quoteIdentifier } from '../../sql-utils';\nimport {\n columnDefaultExistsCheck,\n columnExistsCheck,\n columnNullabilityCheck,\n columnTypeCheck,\n qualifyTableName,\n} from '../planner-sql-checks';\nimport { type ColumnSpec, type Op, step, targetDetails } from './shared';\n\nexport function addColumn(schemaName: string, tableName: string, column: ColumnSpec): Op {\n const qualified = qualifyTableName(schemaName, tableName);\n const parts = [\n `ALTER TABLE ${qualified}`,\n `ADD COLUMN ${quoteIdentifier(column.name)} ${column.typeSql}`,\n column.defaultSql,\n column.nullable ? '' : 'NOT NULL',\n ].filter(Boolean);\n const addSql = parts.join(' ');\n\n return {\n id: `column.${tableName}.${column.name}`,\n label: `Add column \"${column.name}\" to \"${tableName}\"`,\n operationClass: 'additive',\n target: targetDetails('column', column.name, schemaName, tableName),\n precheck: [\n step(\n `ensure column \"${column.name}\" is missing`,\n columnExistsCheck({\n schema: schemaName,\n table: tableName,\n column: column.name,\n exists: false,\n }),\n ),\n ],\n execute: [step(`add column \"${column.name}\"`, addSql)],\n postcheck: [\n step(\n `verify column \"${column.name}\" exists`,\n columnExistsCheck({ schema: schemaName, table: tableName, column: column.name }),\n ),\n ],\n };\n}\n\nexport function dropColumn(schemaName: string, tableName: string, columnName: string): Op {\n const qualified = qualifyTableName(schemaName, tableName);\n return {\n id: `dropColumn.${tableName}.${columnName}`,\n label: `Drop column \"${columnName}\" from \"${tableName}\"`,\n operationClass: 'destructive',\n target: targetDetails('column', columnName, schemaName, tableName),\n precheck: [\n step(\n `ensure column \"${columnName}\" exists`,\n columnExistsCheck({ schema: schemaName, table: tableName, column: columnName }),\n ),\n ],\n execute: [\n step(\n `drop column \"${columnName}\"`,\n `ALTER TABLE ${qualified} DROP COLUMN ${quoteIdentifier(columnName)}`,\n ),\n ],\n postcheck: [\n step(\n `verify column \"${columnName}\" does not exist`,\n columnExistsCheck({\n schema: schemaName,\n table: tableName,\n column: columnName,\n exists: false,\n }),\n ),\n ],\n };\n}\n\n/**\n * `qualifiedTargetType` is the new column type as it appears in the\n * `ALTER COLUMN TYPE` clause (schema-qualified for user-defined types, raw\n * native name for built-ins). `formatTypeExpected` is the unqualified\n * `format_type` form used in the postcheck. `rawTargetTypeForLabel` is the\n * string appearing in the human-readable label (typically `toType` when\n * explicit, else the column's native type).\n */\nexport function alterColumnType(\n schemaName: string,\n tableName: string,\n columnName: string,\n options: {\n readonly qualifiedTargetType: string;\n readonly formatTypeExpected: string;\n readonly rawTargetTypeForLabel: string;\n readonly using?: string;\n },\n): Op {\n const qualified = qualifyTableName(schemaName, tableName);\n const usingClause = options.using\n ? ` USING ${options.using}`\n : ` USING ${quoteIdentifier(columnName)}::${options.qualifiedTargetType}`;\n return {\n id: `alterType.${tableName}.${columnName}`,\n label: `Alter type of \"${tableName}\".\"${columnName}\" to ${options.rawTargetTypeForLabel}`,\n operationClass: 'destructive',\n target: targetDetails('column', columnName, schemaName, tableName),\n precheck: [\n step(\n `ensure column \"${columnName}\" exists`,\n columnExistsCheck({ schema: schemaName, table: tableName, column: columnName }),\n ),\n ],\n execute: [\n step(\n `alter type of \"${columnName}\"`,\n `ALTER TABLE ${qualified} ALTER COLUMN ${quoteIdentifier(columnName)} TYPE ${options.qualifiedTargetType}${usingClause}`,\n ),\n ],\n postcheck: [\n step(\n `verify column \"${columnName}\" has type \"${options.formatTypeExpected}\"`,\n columnTypeCheck({\n schema: schemaName,\n table: tableName,\n column: columnName,\n expectedType: options.formatTypeExpected,\n }),\n ),\n ],\n meta: { warning: 'TABLE_REWRITE' },\n };\n}\n\nexport function setNotNull(schemaName: string, tableName: string, columnName: string): Op {\n const qualified = qualifyTableName(schemaName, tableName);\n return {\n id: `alterNullability.setNotNull.${tableName}.${columnName}`,\n label: `Set NOT NULL on \"${tableName}\".\"${columnName}\"`,\n operationClass: 'destructive',\n target: targetDetails('column', columnName, schemaName, tableName),\n precheck: [\n step(\n `ensure column \"${columnName}\" exists`,\n columnExistsCheck({ schema: schemaName, table: tableName, column: columnName }),\n ),\n step(\n `ensure no NULL values in \"${columnName}\"`,\n `SELECT NOT EXISTS (SELECT 1 FROM ${qualified} WHERE ${quoteIdentifier(columnName)} IS NULL)`,\n ),\n ],\n execute: [\n step(\n `set NOT NULL on \"${columnName}\"`,\n `ALTER TABLE ${qualified} ALTER COLUMN ${quoteIdentifier(columnName)} SET NOT NULL`,\n ),\n ],\n postcheck: [\n step(\n `verify column \"${columnName}\" is NOT NULL`,\n columnNullabilityCheck({\n schema: schemaName,\n table: tableName,\n column: columnName,\n nullable: false,\n }),\n ),\n ],\n };\n}\n\nexport function dropNotNull(schemaName: string, tableName: string, columnName: string): Op {\n const qualified = qualifyTableName(schemaName, tableName);\n return {\n id: `alterNullability.dropNotNull.${tableName}.${columnName}`,\n label: `Drop NOT NULL on \"${tableName}\".\"${columnName}\"`,\n operationClass: 'widening',\n target: targetDetails('column', columnName, schemaName, tableName),\n precheck: [\n step(\n `ensure column \"${columnName}\" exists`,\n columnExistsCheck({ schema: schemaName, table: tableName, column: columnName }),\n ),\n ],\n execute: [\n step(\n `drop NOT NULL on \"${columnName}\"`,\n `ALTER TABLE ${qualified} ALTER COLUMN ${quoteIdentifier(columnName)} DROP NOT NULL`,\n ),\n ],\n postcheck: [\n step(\n `verify column \"${columnName}\" is nullable`,\n columnNullabilityCheck({\n schema: schemaName,\n table: tableName,\n column: columnName,\n nullable: true,\n }),\n ),\n ],\n };\n}\n\n/**\n * `defaultSql` is the full `DEFAULT …` clause as produced by\n * `buildColumnDefaultSql` — e.g. `\"DEFAULT 42\"`,\n * `\"DEFAULT (CURRENT_TIMESTAMP)\"`, or `\"DEFAULT nextval('seq'::regclass)\"`.\n *\n * `operationClass` defaults to `'additive'` (setting a default on a column\n * that currently has none). The reconciliation planner passes `'widening'`\n * when the column already has a different default — policy enforcement\n * treats that as a widening change rather than an additive one.\n */\nexport function setDefault(\n schemaName: string,\n tableName: string,\n columnName: string,\n defaultSql: string,\n operationClass: 'additive' | 'widening' = 'additive',\n): Op {\n const qualified = qualifyTableName(schemaName, tableName);\n return {\n id: `setDefault.${tableName}.${columnName}`,\n label: `Set default on \"${tableName}\".\"${columnName}\"`,\n operationClass,\n target: targetDetails('column', columnName, schemaName, tableName),\n precheck: [\n step(\n `ensure column \"${columnName}\" exists`,\n columnExistsCheck({ schema: schemaName, table: tableName, column: columnName }),\n ),\n ],\n execute: [\n step(\n `set default on \"${columnName}\"`,\n `ALTER TABLE ${qualified} ALTER COLUMN ${quoteIdentifier(columnName)} SET ${defaultSql}`,\n ),\n ],\n postcheck: [\n step(\n `verify column \"${columnName}\" has a default`,\n columnDefaultExistsCheck({\n schema: schemaName,\n table: tableName,\n column: columnName,\n exists: true,\n }),\n ),\n ],\n };\n}\n\nexport function dropDefault(schemaName: string, tableName: string, columnName: string): Op {\n const qualified = qualifyTableName(schemaName, tableName);\n return {\n id: `dropDefault.${tableName}.${columnName}`,\n label: `Drop default on \"${tableName}\".\"${columnName}\"`,\n operationClass: 'destructive',\n target: targetDetails('column', columnName, schemaName, tableName),\n precheck: [\n step(\n `ensure column \"${columnName}\" exists`,\n columnExistsCheck({ schema: schemaName, table: tableName, column: columnName }),\n ),\n ],\n execute: [\n step(\n `drop default on \"${columnName}\"`,\n `ALTER TABLE ${qualified} ALTER COLUMN ${quoteIdentifier(columnName)} DROP DEFAULT`,\n ),\n ],\n postcheck: [\n step(\n `verify column \"${columnName}\" has no default`,\n columnDefaultExistsCheck({\n schema: schemaName,\n table: tableName,\n column: columnName,\n exists: false,\n }),\n ),\n ],\n };\n}\n","import type { ReferentialAction } from '@prisma-next/sql-contract/types';\nimport { quoteIdentifier } from '../../sql-utils';\nimport { constraintExistsCheck, qualifyTableName } from '../planner-sql-checks';\nimport { type ForeignKeySpec, type Op, step, targetDetails } from './shared';\n\nconst REFERENTIAL_ACTION_SQL: Record<ReferentialAction, string> = {\n noAction: 'NO ACTION',\n restrict: 'RESTRICT',\n cascade: 'CASCADE',\n setNull: 'SET NULL',\n setDefault: 'SET DEFAULT',\n};\n\nfunction renderForeignKeySql(schemaName: string, tableName: string, fk: ForeignKeySpec): string {\n let sql = `ALTER TABLE ${qualifyTableName(schemaName, tableName)}\nADD CONSTRAINT ${quoteIdentifier(fk.name)}\nFOREIGN KEY (${fk.columns.map(quoteIdentifier).join(', ')})\nREFERENCES ${qualifyTableName(schemaName, fk.references.table)} (${fk.references.columns\n .map(quoteIdentifier)\n .join(', ')})`;\n\n if (fk.onDelete !== undefined) {\n const action = REFERENTIAL_ACTION_SQL[fk.onDelete];\n if (!action) {\n throw new Error(`Unknown referential action for onDelete: ${String(fk.onDelete)}`);\n }\n sql += `\\nON DELETE ${action}`;\n }\n if (fk.onUpdate !== undefined) {\n const action = REFERENTIAL_ACTION_SQL[fk.onUpdate];\n if (!action) {\n throw new Error(`Unknown referential action for onUpdate: ${String(fk.onUpdate)}`);\n }\n sql += `\\nON UPDATE ${action}`;\n }\n return sql;\n}\n\nexport function addPrimaryKey(\n schemaName: string,\n tableName: string,\n constraintName: string,\n columns: readonly string[],\n): Op {\n const qualified = qualifyTableName(schemaName, tableName);\n const columnList = columns.map(quoteIdentifier).join(', ');\n return {\n id: `primaryKey.${tableName}.${constraintName}`,\n label: `Add primary key on \"${tableName}\"`,\n operationClass: 'additive',\n target: targetDetails('primaryKey', constraintName, schemaName, tableName),\n precheck: [\n step(\n `ensure primary key \"${constraintName}\" does not exist`,\n constraintExistsCheck({\n constraintName,\n schema: schemaName,\n table: tableName,\n exists: false,\n }),\n ),\n ],\n execute: [\n step(\n `add primary key \"${constraintName}\"`,\n `ALTER TABLE ${qualified} ADD CONSTRAINT ${quoteIdentifier(constraintName)} PRIMARY KEY (${columnList})`,\n ),\n ],\n postcheck: [\n step(\n `verify primary key \"${constraintName}\" exists`,\n constraintExistsCheck({ constraintName, schema: schemaName, table: tableName }),\n ),\n ],\n };\n}\n\nexport function addUnique(\n schemaName: string,\n tableName: string,\n constraintName: string,\n columns: readonly string[],\n): Op {\n const qualified = qualifyTableName(schemaName, tableName);\n const columnList = columns.map(quoteIdentifier).join(', ');\n return {\n id: `unique.${tableName}.${constraintName}`,\n label: `Add unique constraint on \"${tableName}\" (${columns.join(', ')})`,\n operationClass: 'additive',\n target: targetDetails('unique', constraintName, schemaName, tableName),\n precheck: [\n step(\n `ensure constraint \"${constraintName}\" does not exist`,\n constraintExistsCheck({\n constraintName,\n schema: schemaName,\n table: tableName,\n exists: false,\n }),\n ),\n ],\n execute: [\n step(\n `add unique constraint \"${constraintName}\"`,\n `ALTER TABLE ${qualified} ADD CONSTRAINT ${quoteIdentifier(constraintName)} UNIQUE (${columnList})`,\n ),\n ],\n postcheck: [\n step(\n `verify constraint \"${constraintName}\" exists`,\n constraintExistsCheck({ constraintName, schema: schemaName, table: tableName }),\n ),\n ],\n };\n}\n\nexport function addForeignKey(schemaName: string, tableName: string, fk: ForeignKeySpec): Op {\n return {\n id: `foreignKey.${tableName}.${fk.name}`,\n label: `Add foreign key \"${fk.name}\" on \"${tableName}\"`,\n operationClass: 'additive',\n target: targetDetails('foreignKey', fk.name, schemaName, tableName),\n precheck: [\n step(\n `ensure FK \"${fk.name}\" does not exist`,\n constraintExistsCheck({\n constraintName: fk.name,\n schema: schemaName,\n table: tableName,\n exists: false,\n }),\n ),\n ],\n execute: [step(`add FK \"${fk.name}\"`, renderForeignKeySql(schemaName, tableName, fk))],\n postcheck: [\n step(\n `verify FK \"${fk.name}\" exists`,\n constraintExistsCheck({\n constraintName: fk.name,\n schema: schemaName,\n table: tableName,\n }),\n ),\n ],\n };\n}\n\n/**\n * `kind` feeds the operation's `target.details.objectType`. Descriptor-flow\n * does not carry kind information in its drop-constraint descriptor, so the\n * default is `'unique'`. The reconciliation planner passes the correct kind\n * (`'foreignKey'`, `'primaryKey'`, or `'unique'`) based on the `SchemaIssue`\n * that produced the drop.\n */\nexport function dropConstraint(\n schemaName: string,\n tableName: string,\n constraintName: string,\n kind: 'foreignKey' | 'unique' | 'primaryKey' = 'unique',\n): Op {\n const qualified = qualifyTableName(schemaName, tableName);\n return {\n id: `dropConstraint.${tableName}.${constraintName}`,\n label: `Drop constraint \"${constraintName}\" on \"${tableName}\"`,\n operationClass: 'destructive',\n target: targetDetails(kind, constraintName, schemaName, tableName),\n precheck: [\n step(\n `ensure constraint \"${constraintName}\" exists`,\n constraintExistsCheck({ constraintName, schema: schemaName, table: tableName }),\n ),\n ],\n execute: [\n step(\n `drop constraint \"${constraintName}\"`,\n `ALTER TABLE ${qualified} DROP CONSTRAINT ${quoteIdentifier(constraintName)}`,\n ),\n ],\n postcheck: [\n step(\n `verify constraint \"${constraintName}\" does not exist`,\n constraintExistsCheck({\n constraintName,\n schema: schemaName,\n table: tableName,\n exists: false,\n }),\n ),\n ],\n };\n}\n","import { quoteIdentifier } from '../../sql-utils';\nimport { type Op, step } from './shared';\n\nexport function createExtension(extensionName: string): Op {\n return {\n id: `extension.${extensionName}`,\n label: `Create extension \"${extensionName}\"`,\n operationClass: 'additive',\n target: { id: 'postgres' },\n precheck: [],\n execute: [\n step(\n `Create extension \"${extensionName}\"`,\n `CREATE EXTENSION IF NOT EXISTS ${quoteIdentifier(extensionName)}`,\n ),\n ],\n postcheck: [],\n };\n}\n\nexport function createSchema(schemaName: string): Op {\n return {\n id: `schema.${schemaName}`,\n label: `Create schema \"${schemaName}\"`,\n operationClass: 'additive',\n target: { id: 'postgres' },\n precheck: [],\n execute: [\n step(\n `Create schema \"${schemaName}\"`,\n `CREATE SCHEMA IF NOT EXISTS ${quoteIdentifier(schemaName)}`,\n ),\n ],\n postcheck: [],\n };\n}\n","import { escapeLiteral, qualifyName, quoteIdentifier } from '../../sql-utils';\nimport { type Op, step, targetDetails } from './shared';\n\nfunction enumTypeExistsCheck(schemaName: string, nativeType: string, exists = true): string {\n const clause = exists ? 'EXISTS' : 'NOT EXISTS';\n return `SELECT ${clause} (\n SELECT 1\n FROM pg_type t\n JOIN pg_namespace n ON t.typnamespace = n.oid\n WHERE n.nspname = '${escapeLiteral(schemaName)}'\n AND t.typname = '${escapeLiteral(nativeType)}'\n)`;\n}\n\nexport function createEnumType(\n schemaName: string,\n typeName: string,\n values: readonly string[],\n): Op {\n const qualifiedType = qualifyName(schemaName, typeName);\n const literalValues = values.map((v) => `'${escapeLiteral(v)}'`).join(', ');\n return {\n id: `type.${typeName}`,\n label: `Create enum type \"${typeName}\"`,\n operationClass: 'additive',\n target: targetDetails('type', typeName, schemaName),\n precheck: [\n step(\n `ensure type \"${typeName}\" does not exist`,\n enumTypeExistsCheck(schemaName, typeName, false),\n ),\n ],\n execute: [\n step(\n `create enum type \"${typeName}\"`,\n `CREATE TYPE ${qualifiedType} AS ENUM (${literalValues})`,\n ),\n ],\n postcheck: [\n step(`verify type \"${typeName}\" exists`, enumTypeExistsCheck(schemaName, typeName)),\n ],\n };\n}\n\n/**\n * `typeName` is the contract-facing type name (used for id/label).\n * `nativeType` is the Postgres type name to mutate (may differ for external types).\n */\nexport function addEnumValues(\n schemaName: string,\n typeName: string,\n nativeType: string,\n values: readonly string[],\n): Op {\n const qualifiedType = qualifyName(schemaName, nativeType);\n return {\n id: `type.${typeName}.addValues`,\n label: `Add values to enum type \"${typeName}\": ${values.join(', ')}`,\n operationClass: 'additive',\n target: targetDetails('type', typeName, schemaName),\n precheck: [\n step(`ensure type \"${nativeType}\" exists`, enumTypeExistsCheck(schemaName, nativeType)),\n ],\n execute: values.map((value) =>\n step(\n `add value '${value}' to enum \"${nativeType}\"`,\n `ALTER TYPE ${qualifiedType} ADD VALUE '${escapeLiteral(value)}'`,\n ),\n ),\n postcheck: [\n step(`verify type \"${nativeType}\" exists`, enumTypeExistsCheck(schemaName, nativeType)),\n ],\n };\n}\n\nexport function dropEnumType(schemaName: string, typeName: string): Op {\n const qualified = qualifyName(schemaName, typeName);\n return {\n id: `type.${typeName}.drop`,\n label: `Drop enum type \"${typeName}\"`,\n operationClass: 'destructive',\n target: targetDetails('type', typeName, schemaName),\n precheck: [step(`ensure type \"${typeName}\" exists`, enumTypeExistsCheck(schemaName, typeName))],\n execute: [step(`drop enum type \"${typeName}\"`, `DROP TYPE ${qualified}`)],\n postcheck: [\n step(`verify type \"${typeName}\" removed`, enumTypeExistsCheck(schemaName, typeName, false)),\n ],\n };\n}\n\nexport function renameType(schemaName: string, fromName: string, toName: string): Op {\n const qualifiedFrom = qualifyName(schemaName, fromName);\n return {\n id: `type.${fromName}.rename`,\n label: `Rename type \"${fromName}\" to \"${toName}\"`,\n operationClass: 'destructive',\n target: targetDetails('type', fromName, schemaName),\n precheck: [\n step(`ensure type \"${fromName}\" exists`, enumTypeExistsCheck(schemaName, fromName)),\n step(\n `ensure type \"${toName}\" does not already exist`,\n enumTypeExistsCheck(schemaName, toName, false),\n ),\n ],\n execute: [\n step(\n `rename type \"${fromName}\" to \"${toName}\"`,\n `ALTER TYPE ${qualifiedFrom} RENAME TO ${quoteIdentifier(toName)}`,\n ),\n ],\n postcheck: [step(`verify type \"${toName}\" exists`, enumTypeExistsCheck(schemaName, toName))],\n };\n}\n","import { quoteIdentifier } from '../../sql-utils';\nimport { qualifyTableName, toRegclassLiteral } from '../planner-sql-checks';\nimport { type Op, step, targetDetails } from './shared';\n\nexport function createIndex(\n schemaName: string,\n tableName: string,\n indexName: string,\n columns: readonly string[],\n): Op {\n const qualified = qualifyTableName(schemaName, tableName);\n const columnList = columns.map(quoteIdentifier).join(', ');\n return {\n id: `index.${tableName}.${indexName}`,\n label: `Create index \"${indexName}\" on \"${tableName}\"`,\n operationClass: 'additive',\n target: targetDetails('index', indexName, schemaName, tableName),\n precheck: [\n step(\n `ensure index \"${indexName}\" does not exist`,\n `SELECT to_regclass(${toRegclassLiteral(schemaName, indexName)}) IS NULL`,\n ),\n ],\n execute: [\n step(\n `create index \"${indexName}\"`,\n `CREATE INDEX ${quoteIdentifier(indexName)} ON ${qualified} (${columnList})`,\n ),\n ],\n postcheck: [\n step(\n `verify index \"${indexName}\" exists`,\n `SELECT to_regclass(${toRegclassLiteral(schemaName, indexName)}) IS NOT NULL`,\n ),\n ],\n };\n}\n\nexport function dropIndex(schemaName: string, tableName: string, indexName: string): Op {\n return {\n id: `dropIndex.${tableName}.${indexName}`,\n label: `Drop index \"${indexName}\"`,\n operationClass: 'destructive',\n target: targetDetails('index', indexName, schemaName, tableName),\n precheck: [\n step(\n `ensure index \"${indexName}\" exists`,\n `SELECT to_regclass(${toRegclassLiteral(schemaName, indexName)}) IS NOT NULL`,\n ),\n ],\n execute: [\n step(`drop index \"${indexName}\"`, `DROP INDEX ${qualifyTableName(schemaName, indexName)}`),\n ],\n postcheck: [\n step(\n `verify index \"${indexName}\" does not exist`,\n `SELECT to_regclass(${toRegclassLiteral(schemaName, indexName)}) IS NULL`,\n ),\n ],\n };\n}\n","import { quoteIdentifier } from '../../sql-utils';\nimport { qualifyTableName, toRegclassLiteral } from '../planner-sql-checks';\nimport { type ColumnSpec, type Op, renderColumnDefinition, step, targetDetails } from './shared';\n\nexport function createTable(\n schemaName: string,\n tableName: string,\n columns: ReadonlyArray<ColumnSpec>,\n primaryKey?: { readonly columns: readonly string[] },\n): Op {\n const qualified = qualifyTableName(schemaName, tableName);\n const columnDefs = columns.map(renderColumnDefinition);\n const constraintDefs: string[] = [];\n if (primaryKey) {\n constraintDefs.push(`PRIMARY KEY (${primaryKey.columns.map(quoteIdentifier).join(', ')})`);\n }\n const allDefs = [...columnDefs, ...constraintDefs];\n const createSql = `CREATE TABLE ${qualified} (\\n ${allDefs.join(',\\n ')}\\n)`;\n\n return {\n id: `table.${tableName}`,\n label: `Create table \"${tableName}\"`,\n summary: `Creates table \"${tableName}\"`,\n operationClass: 'additive',\n target: targetDetails('table', tableName, schemaName),\n precheck: [\n step(\n `ensure table \"${tableName}\" does not exist`,\n `SELECT to_regclass(${toRegclassLiteral(schemaName, tableName)}) IS NULL`,\n ),\n ],\n execute: [step(`create table \"${tableName}\"`, createSql)],\n postcheck: [\n step(\n `verify table \"${tableName}\" exists`,\n `SELECT to_regclass(${toRegclassLiteral(schemaName, tableName)}) IS NOT NULL`,\n ),\n ],\n };\n}\n\nexport function dropTable(schemaName: string, tableName: string): Op {\n const qualified = qualifyTableName(schemaName, tableName);\n return {\n id: `dropTable.${tableName}`,\n label: `Drop table \"${tableName}\"`,\n operationClass: 'destructive',\n target: targetDetails('table', tableName, schemaName),\n precheck: [\n step(\n `ensure table \"${tableName}\" exists`,\n `SELECT to_regclass(${toRegclassLiteral(schemaName, tableName)}) IS NOT NULL`,\n ),\n ],\n execute: [step(`drop table \"${tableName}\"`, `DROP TABLE ${qualified}`)],\n postcheck: [\n step(\n `verify table \"${tableName}\" does not exist`,\n `SELECT to_regclass(${toRegclassLiteral(schemaName, tableName)}) IS NULL`,\n ),\n ],\n };\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ColumnDefault } from "@prisma-next/contract/types";
|
|
2
|
+
|
|
3
|
+
//#region src/core/types.d.ts
|
|
4
|
+
type PostgresColumnDefault = ColumnDefault | {
|
|
5
|
+
readonly kind: 'sequence';
|
|
6
|
+
readonly name: string;
|
|
7
|
+
};
|
|
8
|
+
//#endregion
|
|
9
|
+
export { PostgresColumnDefault as t };
|
|
10
|
+
//# sourceMappingURL=types-ClK03Ojd.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-ClK03Ojd.d.mts","names":[],"sources":["../src/core/types.ts"],"sourcesContent":[],"mappings":";;;KAEY,qBAAA,GACR;;EADQ,SAAA,IAAA,EAAA,MAAA"}
|
package/dist/types.d.mts
ADDED
package/dist/types.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
package/package.json
CHANGED
|
@@ -1,37 +1,33 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prisma-next/target-postgres",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"description": "Postgres target pack for Prisma Next",
|
|
7
7
|
"dependencies": {
|
|
8
8
|
"arktype": "^2.0.0",
|
|
9
9
|
"pathe": "^2.0.3",
|
|
10
|
-
"@prisma-next/
|
|
11
|
-
"@prisma-next/
|
|
12
|
-
"@prisma-next/
|
|
13
|
-
"@prisma-next/
|
|
14
|
-
"@prisma-next/
|
|
15
|
-
"@prisma-next/
|
|
16
|
-
"@prisma-next/
|
|
17
|
-
"@prisma-next/sql-
|
|
18
|
-
"@prisma-next/
|
|
19
|
-
"@prisma-next/sql-operations": "0.4.
|
|
20
|
-
"@prisma-next/sql-relational-core": "0.4.
|
|
21
|
-
"@prisma-next/sql-schema-ir": "0.4.
|
|
22
|
-
"@prisma-next/
|
|
23
|
-
"@prisma-next/utils": "0.4.1"
|
|
10
|
+
"@prisma-next/errors": "0.4.3",
|
|
11
|
+
"@prisma-next/cli": "0.4.3",
|
|
12
|
+
"@prisma-next/contract": "0.4.3",
|
|
13
|
+
"@prisma-next/family-sql": "0.4.3",
|
|
14
|
+
"@prisma-next/framework-components": "0.4.3",
|
|
15
|
+
"@prisma-next/migration-tools": "0.4.3",
|
|
16
|
+
"@prisma-next/sql-contract": "0.4.3",
|
|
17
|
+
"@prisma-next/sql-errors": "0.4.3",
|
|
18
|
+
"@prisma-next/ts-render": "0.4.3",
|
|
19
|
+
"@prisma-next/sql-operations": "0.4.3",
|
|
20
|
+
"@prisma-next/sql-relational-core": "0.4.3",
|
|
21
|
+
"@prisma-next/sql-schema-ir": "0.4.3",
|
|
22
|
+
"@prisma-next/utils": "0.4.3"
|
|
24
23
|
},
|
|
25
24
|
"devDependencies": {
|
|
26
25
|
"tsdown": "0.18.4",
|
|
27
26
|
"typescript": "5.9.3",
|
|
28
27
|
"vitest": "4.0.17",
|
|
29
|
-
"@prisma-next/driver-postgres": "0.4.1",
|
|
30
|
-
"@prisma-next/adapter-postgres": "0.4.1",
|
|
31
|
-
"@prisma-next/extension-pgvector": "0.4.1",
|
|
32
28
|
"@prisma-next/test-utils": "0.0.1",
|
|
33
|
-
"@prisma-next/
|
|
34
|
-
"@prisma-next/
|
|
29
|
+
"@prisma-next/tsconfig": "0.0.0",
|
|
30
|
+
"@prisma-next/tsdown": "0.0.0"
|
|
35
31
|
},
|
|
36
32
|
"files": [
|
|
37
33
|
"dist",
|
|
@@ -39,10 +35,31 @@
|
|
|
39
35
|
"packs"
|
|
40
36
|
],
|
|
41
37
|
"exports": {
|
|
38
|
+
"./codec-ids": "./dist/codec-ids.mjs",
|
|
39
|
+
"./codec-types": "./dist/codec-types.mjs",
|
|
40
|
+
"./codecs": "./dist/codecs.mjs",
|
|
42
41
|
"./control": "./dist/control.mjs",
|
|
42
|
+
"./data-transform": "./dist/data-transform.mjs",
|
|
43
|
+
"./default-normalizer": "./dist/default-normalizer.mjs",
|
|
44
|
+
"./errors": "./dist/errors.mjs",
|
|
45
|
+
"./issue-planner": "./dist/issue-planner.mjs",
|
|
43
46
|
"./migration": "./dist/migration.mjs",
|
|
47
|
+
"./native-type-normalizer": "./dist/native-type-normalizer.mjs",
|
|
48
|
+
"./op-factory-call": "./dist/op-factory-call.mjs",
|
|
44
49
|
"./pack": "./dist/pack.mjs",
|
|
50
|
+
"./planner": "./dist/planner.mjs",
|
|
51
|
+
"./planner-ddl-builders": "./dist/planner-ddl-builders.mjs",
|
|
52
|
+
"./planner-identity-values": "./dist/planner-identity-values.mjs",
|
|
53
|
+
"./planner-produced-postgres-migration": "./dist/planner-produced-postgres-migration.mjs",
|
|
54
|
+
"./planner-schema-lookup": "./dist/planner-schema-lookup.mjs",
|
|
55
|
+
"./planner-sql-checks": "./dist/planner-sql-checks.mjs",
|
|
56
|
+
"./planner-target-details": "./dist/planner-target-details.mjs",
|
|
57
|
+
"./render-ops": "./dist/render-ops.mjs",
|
|
58
|
+
"./render-typescript": "./dist/render-typescript.mjs",
|
|
45
59
|
"./runtime": "./dist/runtime.mjs",
|
|
60
|
+
"./sql-utils": "./dist/sql-utils.mjs",
|
|
61
|
+
"./statement-builders": "./dist/statement-builders.mjs",
|
|
62
|
+
"./types": "./dist/types.mjs",
|
|
46
63
|
"./package.json": "./package.json"
|
|
47
64
|
},
|
|
48
65
|
"repository": {
|
|
@@ -50,6 +67,9 @@
|
|
|
50
67
|
"url": "https://github.com/prisma/prisma-next.git",
|
|
51
68
|
"directory": "packages/3-targets/3-targets/postgres"
|
|
52
69
|
},
|
|
70
|
+
"prismaNext": {
|
|
71
|
+
"minServerVersion": "14"
|
|
72
|
+
},
|
|
53
73
|
"scripts": {
|
|
54
74
|
"build": "tsdown",
|
|
55
75
|
"test": "vitest run --passWithNoTests",
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export {
|
|
2
|
+
SQL_CHAR_CODEC_ID,
|
|
3
|
+
SQL_FLOAT_CODEC_ID,
|
|
4
|
+
SQL_INT_CODEC_ID,
|
|
5
|
+
SQL_TEXT_CODEC_ID,
|
|
6
|
+
SQL_TIMESTAMP_CODEC_ID,
|
|
7
|
+
SQL_VARCHAR_CODEC_ID,
|
|
8
|
+
} from '@prisma-next/sql-relational-core/ast';
|
|
9
|
+
export const PG_TEXT_CODEC_ID = 'pg/text@1' as const;
|
|
10
|
+
export const PG_ENUM_CODEC_ID = 'pg/enum@1' as const;
|
|
11
|
+
export const PG_CHAR_CODEC_ID = 'pg/char@1' as const;
|
|
12
|
+
export const PG_VARCHAR_CODEC_ID = 'pg/varchar@1' as const;
|
|
13
|
+
export const PG_INT_CODEC_ID = 'pg/int@1' as const;
|
|
14
|
+
export const PG_INT2_CODEC_ID = 'pg/int2@1' as const;
|
|
15
|
+
export const PG_INT4_CODEC_ID = 'pg/int4@1' as const;
|
|
16
|
+
export const PG_INT8_CODEC_ID = 'pg/int8@1' as const;
|
|
17
|
+
export const PG_FLOAT_CODEC_ID = 'pg/float@1' as const;
|
|
18
|
+
export const PG_FLOAT4_CODEC_ID = 'pg/float4@1' as const;
|
|
19
|
+
export const PG_FLOAT8_CODEC_ID = 'pg/float8@1' as const;
|
|
20
|
+
export const PG_NUMERIC_CODEC_ID = 'pg/numeric@1' as const;
|
|
21
|
+
export const PG_BOOL_CODEC_ID = 'pg/bool@1' as const;
|
|
22
|
+
export const PG_BIT_CODEC_ID = 'pg/bit@1' as const;
|
|
23
|
+
export const PG_VARBIT_CODEC_ID = 'pg/varbit@1' as const;
|
|
24
|
+
export const PG_TIMESTAMP_CODEC_ID = 'pg/timestamp@1' as const;
|
|
25
|
+
export const PG_TIMESTAMPTZ_CODEC_ID = 'pg/timestamptz@1' as const;
|
|
26
|
+
export const PG_TIME_CODEC_ID = 'pg/time@1' as const;
|
|
27
|
+
export const PG_TIMETZ_CODEC_ID = 'pg/timetz@1' as const;
|
|
28
|
+
export const PG_INTERVAL_CODEC_ID = 'pg/interval@1' as const;
|
|
29
|
+
export const PG_JSON_CODEC_ID = 'pg/json@1' as const;
|
|
30
|
+
export const PG_JSONB_CODEC_ID = 'pg/jsonb@1' as const;
|