@prisma/orm-target-postgres 8.0.0-rc.16-dev.6 → 8.0.0-rc.16-dev.8
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/{adapter-RtS8vD8U-BnPjAiLV.mjs → adapter-RtS8vD8U-CkJSaICZ.mjs} +2 -2
- package/dist/{adapter-RtS8vD8U-BnPjAiLV.mjs.map → adapter-RtS8vD8U-CkJSaICZ.mjs.map} +1 -1
- package/dist/adapter.mjs +2 -2
- package/dist/adapter__adapter.mjs +2 -2
- package/dist/adapter__control.mjs +4 -4
- package/dist/adapter__runtime.mjs +3 -3
- package/dist/{authoring-B2hHIzvd-D5NgHs0e.mjs → authoring-_2G2lsLt-VmVbrMPn.mjs} +3 -3
- package/dist/{authoring-B2hHIzvd-D5NgHs0e.mjs.map → authoring-_2G2lsLt-VmVbrMPn.mjs.map} +1 -1
- package/dist/{contract-free-DaK6wmmo.mjs → contract-free-BMKFjlIG.mjs} +3 -3
- package/dist/{contract-free-DaK6wmmo.mjs.map → contract-free-BMKFjlIG.mjs.map} +1 -1
- package/dist/{control-Bpd77Aeq.mjs → control-M3kIGGHk.mjs} +9 -9
- package/dist/{control-Bpd77Aeq.mjs.map → control-M3kIGGHk.mjs.map} +1 -1
- package/dist/{control-adapter-Co30P4lH-e6oCFCC2.mjs → control-adapter-Co30P4lH-CpxXk5cz.mjs} +2 -2
- package/dist/{control-adapter-Co30P4lH-e6oCFCC2.mjs.map → control-adapter-Co30P4lH-CpxXk5cz.mjs.map} +1 -1
- package/dist/{control-policy-B7t5CB1S-CotIwNO4.mjs → control-policy-C0KC3-Gw-DseKgAtX.mjs} +54 -33
- package/dist/control-policy-C0KC3-Gw-DseKgAtX.mjs.map +1 -0
- package/dist/{ddl-C_vTj7b5-vyGLBKLo.mjs → ddl-D5hYRCTf-DRSajCVT.mjs} +3 -3
- package/dist/{ddl-C_vTj7b5-vyGLBKLo.mjs.map → ddl-D5hYRCTf-DRSajCVT.mjs.map} +1 -1
- package/dist/{descriptor-meta-ARufwwWW-C5hsT7UQ.mjs → descriptor-meta-ARufwwWW-ChZm5Hg5.mjs} +2 -2
- package/dist/{descriptor-meta-ARufwwWW-C5hsT7UQ.mjs.map → descriptor-meta-ARufwwWW-ChZm5Hg5.mjs.map} +1 -1
- package/dist/{descriptor-meta-C8lkQFHe-Cluy19Tk.mjs → descriptor-meta-WHc6Kv-m-BLzsaP0M.mjs} +4 -4
- package/dist/{descriptor-meta-C8lkQFHe-Cluy19Tk.mjs.map → descriptor-meta-WHc6Kv-m-BLzsaP0M.mjs.map} +1 -1
- package/dist/{diff-database-schema-KGNaKzKp-Bt2yYSIt.mjs → diff-database-schema-D9YbaVKX-DZ5wOErP.mjs} +5 -5
- package/dist/{diff-database-schema-KGNaKzKp-Bt2yYSIt.mjs.map → diff-database-schema-D9YbaVKX-DZ5wOErP.mjs.map} +1 -1
- package/dist/{infer-psl-contract-DoIdoifj-Co9thnGu.mjs → infer-psl-contract-D-3st5lU-DKQhhsut.mjs} +3 -3
- package/dist/{infer-psl-contract-DoIdoifj-Co9thnGu.mjs.map → infer-psl-contract-D-3st5lU-DKQhhsut.mjs.map} +1 -1
- package/dist/{issue-planner-pmBrIrEN.d.mts → issue-planner-BwcfQagl.d.mts} +2 -2
- package/dist/{issue-planner-pmBrIrEN.d.mts.map → issue-planner-BwcfQagl.d.mts.map} +1 -1
- package/dist/{migration-D189kh3f.d.mts → migration-D5f4UTR3.d.mts} +3 -3
- package/dist/{migration-D189kh3f.d.mts.map → migration-D5f4UTR3.d.mts.map} +1 -1
- package/dist/migration-PTHAY9Cv.mjs.map +1 -1
- package/dist/{op-factory-call-CqKUB1XP-CsEGx4Jd.d.mts → op-factory-call-BaT4DlIo-BnVxOrwv.d.mts} +51 -17
- package/dist/op-factory-call-BaT4DlIo-BnVxOrwv.d.mts.map +1 -0
- package/dist/{op-factory-call-BAgAln5R-BTkhp29z.mjs → op-factory-call-CXlapjuM-BHZNE4Ph.mjs} +133 -40
- package/dist/op-factory-call-CXlapjuM-BHZNE4Ph.mjs.map +1 -0
- package/dist/op-factory-call-CwFkWbuo.d.mts +1 -0
- package/dist/{planner-CvUO8Zpn.d.mts → planner-BkGEylgU.d.mts} +17 -8
- package/dist/planner-BkGEylgU.d.mts.map +1 -0
- package/dist/{planner-DSTSuAc8-BAfUo5KV.mjs → planner-DwfHmYme-P1dFkpQ4.mjs} +216 -26
- package/dist/planner-DwfHmYme-P1dFkpQ4.mjs.map +1 -0
- package/dist/{planner-produced-postgres-migration-DT3i_p3G-CyQUv3ac.d.mts → planner-produced-postgres-migration-BwZrjNPg-Ch67sFwK.d.mts} +3 -3
- package/dist/planner-produced-postgres-migration-BwZrjNPg-Ch67sFwK.d.mts.map +1 -0
- package/dist/{planner-produced-postgres-migration-D7-3OBb_-BGHFKj3i.mjs → planner-produced-postgres-migration-DBUj6Imx-DhpHjroB.mjs} +4 -4
- package/dist/{planner-produced-postgres-migration-D7-3OBb_-BGHFKj3i.mjs.map → planner-produced-postgres-migration-DBUj6Imx-DhpHjroB.mjs.map} +1 -1
- package/dist/planner-produced-postgres-migration-eDPWYNBo.d.mts +1 -0
- package/dist/{planner-sql-checks-rqOH8naU-B6xOE5lC.mjs → planner-sql-checks-DCGV2qdu-eaeFLtn8.mjs} +3 -3
- package/dist/{planner-sql-checks-rqOH8naU-B6xOE5lC.mjs.map → planner-sql-checks-DCGV2qdu-eaeFLtn8.mjs.map} +1 -1
- package/dist/{postgres-contract-view-C1bi3x4v-BAfk6euQ.mjs → postgres-contract-view-CL-YTH_3-Diah6i2a.mjs} +4 -4
- package/dist/{postgres-contract-view-C1bi3x4v-BAfk6euQ.mjs.map → postgres-contract-view-CL-YTH_3-Diah6i2a.mjs.map} +1 -1
- package/dist/{postgres-migration-e8UybR1y-C_m4i1jp.d.mts → postgres-migration-D2Xs7BfD-Df3OpTyw.d.mts} +37 -4
- package/dist/postgres-migration-D2Xs7BfD-Df3OpTyw.d.mts.map +1 -0
- package/dist/postgres-migration-DjCmSHjA-D8CPJqkC.mjs +1075 -0
- package/dist/postgres-migration-DjCmSHjA-D8CPJqkC.mjs.map +1 -0
- package/dist/{postgres-schema-AlEVkXXS-ZfXWYddl.mjs → postgres-schema-COkaqci7-C6JpiSha.mjs} +6 -6
- package/dist/postgres-schema-COkaqci7-C6JpiSha.mjs.map +1 -0
- package/dist/{prisma7-binding-B4BfqE0o.mjs → prisma7-binding-CAzQh1rQ.mjs} +5 -5
- package/dist/{prisma7-binding-B4BfqE0o.mjs.map → prisma7-binding-CAzQh1rQ.mjs.map} +1 -1
- package/dist/{render-ops-D2vJApKB-B281fzmn.mjs → render-ops-B5FbJGYf-CnmbaalQ.mjs} +16 -9
- package/dist/render-ops-B5FbJGYf-CnmbaalQ.mjs.map +1 -0
- package/dist/{resolve-ddl-schema-BthOWVjF-DuZ9iUh-.mjs → resolve-ddl-schema-DD69Bwve-e-BpAfFa.mjs} +3 -3
- package/dist/{resolve-ddl-schema-BthOWVjF-DuZ9iUh-.mjs.map → resolve-ddl-schema-DD69Bwve-e-BpAfFa.mjs.map} +1 -1
- package/dist/target.d.mts +9 -9
- package/dist/target.mjs +17 -17
- package/dist/target__contract-free.mjs +3 -3
- package/dist/target__control.mjs +3 -3
- package/dist/target__diff-database-schema.mjs +1 -1
- package/dist/target__issue-planner.d.mts +1 -1
- package/dist/target__issue-planner.mjs +1 -1
- package/dist/target__migration.d.mts +2 -2
- package/dist/target__migration.mjs +2 -2
- package/dist/target__op-factory-call.d.mts +3 -3
- package/dist/target__op-factory-call.mjs +2 -2
- package/dist/target__pack.mjs +1 -1
- package/dist/target__planner-produced-postgres-migration.d.mts +2 -2
- package/dist/target__planner-produced-postgres-migration.mjs +1 -1
- package/dist/target__planner-sql-checks.mjs +1 -1
- package/dist/target__planner.d.mts +1 -1
- package/dist/target__planner.mjs +2 -2
- package/dist/target__prisma7-binding.mjs +1 -1
- package/dist/target__render-ops.mjs +1 -1
- package/dist/target__runtime.mjs +2 -2
- package/dist/target__runtime.mjs.map +1 -1
- package/dist/target__schema-ir-annotations.mjs +1 -1
- package/dist/target__types.mjs +1 -1
- package/package.json +9 -9
- package/dist/control-policy-B7t5CB1S-CotIwNO4.mjs.map +0 -1
- package/dist/op-factory-call-BAgAln5R-BTkhp29z.mjs.map +0 -1
- package/dist/op-factory-call-CqKUB1XP-CsEGx4Jd.d.mts.map +0 -1
- package/dist/op-factory-call-D5UJ7cDi.d.mts +0 -1
- package/dist/planner-CvUO8Zpn.d.mts.map +0 -1
- package/dist/planner-DSTSuAc8-BAfUo5KV.mjs.map +0 -1
- package/dist/planner-produced-postgres-migration-BI_aepPp.d.mts +0 -1
- package/dist/planner-produced-postgres-migration-DT3i_p3G-CyQUv3ac.d.mts.map +0 -1
- package/dist/postgres-migration-CeX6vfEU-DsmCRCnD.mjs +0 -596
- package/dist/postgres-migration-CeX6vfEU-DsmCRCnD.mjs.map +0 -1
- package/dist/postgres-migration-e8UybR1y-C_m4i1jp.d.mts.map +0 -1
- package/dist/postgres-schema-AlEVkXXS-ZfXWYddl.mjs.map +0 -1
- package/dist/render-ops-D2vJApKB-B281fzmn.mjs.map +0 -1
package/dist/{op-factory-call-BAgAln5R-BTkhp29z.mjs → op-factory-call-CXlapjuM-BHZNE4Ph.mjs}
RENAMED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { s as postgresError } from "./errors-DYyzTYzE-39CV_aMo.mjs";
|
|
2
2
|
import { a as quoteQualifiedName, o as validateEnumValueLength, r as quoteIdentifier, t as escapeLiteral } from "./sql-utils-CVsvXiX4-C7xD0Bgv.mjs";
|
|
3
3
|
import { t as DEFAULT_NAMESPACE_ID } from "./namespace-ids-xtp_ZY86-Cpp8PTxD.mjs";
|
|
4
|
-
import { A as tableIsEmptyAst, C as nativeEnumTypeExistsAst, D as rlsPolicyExistsAst, E as rlsEnabledAst, O as sequenceNameAvailableAst, S as indexExistsAst, T as noNullValuesAst, _ as dropDefaultAction, a as columnDefaultAst, b as dropType, c as columnNullabilityAst, d as createIndex$1, f as createPolicy, g as disableRowLevelSecurity$1, h as createType, i as alterTable, k as tableExistsAst, l as columnTypeAst, m as createTable, n as alterIndexRename, o as columnDefaultSequenceAst, p as createSchema, r as alterPolicyRename, s as columnExistsAst, t as addColumnAction, u as constraintExistsAst, v as dropIndex$1, w as nativeEnumValueExistsAst, x as extensionExistsAst, y as dropPolicy } from "./ddl-
|
|
4
|
+
import { A as tableIsEmptyAst, C as nativeEnumTypeExistsAst, D as rlsPolicyExistsAst, E as rlsEnabledAst, O as sequenceNameAvailableAst, S as indexExistsAst, T as noNullValuesAst, _ as dropDefaultAction, a as columnDefaultAst, b as dropType, c as columnNullabilityAst, d as createIndex$1, f as createPolicy, g as disableRowLevelSecurity$1, h as createType, i as alterTable, k as tableExistsAst, l as columnTypeAst, m as createTable, n as alterIndexRename, o as columnDefaultSequenceAst, p as createSchema, r as alterPolicyRename, s as columnExistsAst, t as addColumnAction, u as constraintExistsAst, v as dropIndex$1, w as nativeEnumValueExistsAst, x as extensionExistsAst, y as dropPolicy } from "./ddl-D5hYRCTf-DRSajCVT.mjs";
|
|
5
5
|
import { n as buildColumnTypeSql, t as autoincrementWidth } from "./planner-ddl-builders-Y0_96xpe-BzugdEDO.mjs";
|
|
6
6
|
import { t as postgresObjectName } from "./postgres-object-name-FPikIvOw-BNs44hTu.mjs";
|
|
7
|
-
import { n as qualifyTableName } from "./planner-sql-checks-
|
|
7
|
+
import { n as qualifyTableName } from "./planner-sql-checks-DCGV2qdu-eaeFLtn8.mjs";
|
|
8
8
|
import { DdlColumn, FunctionColumnDefault, LiteralColumnDefault, opaqueSql, renderOpaqueSql } from "@prisma/orm-family-sql/relational-core/ast";
|
|
9
9
|
import { blindCast } from "@prisma/orm-framework/utils/casts";
|
|
10
10
|
import { UNBOUND_NAMESPACE_ID } from "@prisma/orm-framework/components/ir";
|
|
@@ -12,10 +12,10 @@ import { namingOf } from "@prisma/orm-family-sql/schema-ir/naming";
|
|
|
12
12
|
import { ifDefined } from "@prisma/orm-framework/utils/defined";
|
|
13
13
|
import { col } from "@prisma/orm-family-sql/relational-core/contract-free";
|
|
14
14
|
import { InternalError, assertNever } from "@prisma/orm-framework/utils/internal-error";
|
|
15
|
-
import {
|
|
15
|
+
import { unfilledPlaceholderOperation } from "@prisma/orm-framework/errors/migration";
|
|
16
16
|
import { TsExpression, jsonToTsSource, tsObjectSource, tsQuotedTextSource } from "@prisma/orm-framework/ts-render";
|
|
17
17
|
import { REFERENTIAL_ACTION_SQL } from "@prisma/orm-family-sql/contract/referential-action-sql";
|
|
18
|
-
//#region ../../../3-targets/3-targets/postgres/dist/op-factory-call-
|
|
18
|
+
//#region ../../../3-targets/3-targets/postgres/dist/op-factory-call-CXlapjuM.mjs
|
|
19
19
|
/**
|
|
20
20
|
* Maps a planner schema name to the contract-free DDL builder's optional
|
|
21
21
|
* `schema` field: the unbound sentinel becomes `undefined` (the builder omits
|
|
@@ -72,6 +72,33 @@ async function dropColumn(schemaName, tableName, columnName, lowerer) {
|
|
|
72
72
|
postcheck: [step(`verify column "${columnName}" does not exist`, absent.sql, absent.params)]
|
|
73
73
|
};
|
|
74
74
|
}
|
|
75
|
+
function renameColumnStatement(schemaName, tableName, fromName, toName) {
|
|
76
|
+
return `ALTER TABLE ${qualifyTableName(schemaName, tableName)} RENAME COLUMN ${quoteIdentifier(fromName)} TO ${quoteIdentifier(toName)}`;
|
|
77
|
+
}
|
|
78
|
+
function renameColumnOperationId(tableName, fromName) {
|
|
79
|
+
return `renameColumn.${tableName}.${fromName}`;
|
|
80
|
+
}
|
|
81
|
+
async function renameColumn(schemaName, tableName, fromName, toName, lowerer) {
|
|
82
|
+
const from = await columnExistsSteps(lowerer, {
|
|
83
|
+
schema: schemaName,
|
|
84
|
+
table: tableName,
|
|
85
|
+
column: fromName
|
|
86
|
+
});
|
|
87
|
+
const to = await columnExistsSteps(lowerer, {
|
|
88
|
+
schema: schemaName,
|
|
89
|
+
table: tableName,
|
|
90
|
+
column: toName
|
|
91
|
+
});
|
|
92
|
+
return {
|
|
93
|
+
id: renameColumnOperationId(tableName, fromName),
|
|
94
|
+
label: `Rename column "${tableName}"."${fromName}" to "${toName}"`,
|
|
95
|
+
operationClass: "widening",
|
|
96
|
+
target: targetDetails("column", toName, schemaName, tableName),
|
|
97
|
+
precheck: [step(`ensure column "${fromName}" exists`, from.present.sql, from.present.params), step(`ensure column "${toName}" does not exist`, to.absent.sql, to.absent.params)],
|
|
98
|
+
execute: [step(`rename column "${fromName}" to "${toName}"`, renameColumnStatement(schemaName, tableName, fromName, toName))],
|
|
99
|
+
postcheck: [step(`verify column "${toName}" exists`, to.present.sql, to.present.params), step(`verify column "${fromName}" no longer exists`, from.absent.sql, from.absent.params)]
|
|
100
|
+
};
|
|
101
|
+
}
|
|
75
102
|
/**
|
|
76
103
|
* `qualifiedTargetType` is the new column type as it appears in the
|
|
77
104
|
* `ALTER COLUMN TYPE` clause (schema-qualified for user-defined types, raw
|
|
@@ -80,7 +107,7 @@ async function dropColumn(schemaName, tableName, columnName, lowerer) {
|
|
|
80
107
|
* string appearing in the human-readable label (typically `toType` when
|
|
81
108
|
* explicit, else the column's native type).
|
|
82
109
|
*/
|
|
83
|
-
async function alterColumnType(schemaName, tableName, columnName, options, lowerer) {
|
|
110
|
+
async function alterColumnType(schemaName, tableName, columnName, options, lowerer, operationClass = "destructive") {
|
|
84
111
|
const qualified = qualifyTableName(schemaName, tableName);
|
|
85
112
|
const usingClause = options.using ? ` USING ${renderOpaqueSql(opaqueSql(options.using))}` : ` USING ${quoteIdentifier(columnName)}::${options.qualifiedTargetType}`;
|
|
86
113
|
const { present } = await columnExistsSteps(lowerer, {
|
|
@@ -97,7 +124,7 @@ async function alterColumnType(schemaName, tableName, columnName, options, lower
|
|
|
97
124
|
return {
|
|
98
125
|
id: `alterType.${tableName}.${columnName}`,
|
|
99
126
|
label: `Alter type of "${tableName}"."${columnName}" to ${options.rawTargetTypeForLabel}`,
|
|
100
|
-
operationClass
|
|
127
|
+
operationClass,
|
|
101
128
|
target: targetDetails("column", columnName, schemaName, tableName),
|
|
102
129
|
precheck: [step(`ensure column "${columnName}" exists`, present.sql, present.params)],
|
|
103
130
|
execute: [step(`alter type of "${columnName}"`, `ALTER TABLE ${qualified} ALTER COLUMN ${quoteIdentifier(columnName)} TYPE ${options.qualifiedTargetType}${usingClause}`)],
|
|
@@ -126,7 +153,7 @@ async function setNotNull(schemaName, tableName, columnName, lowerer) {
|
|
|
126
153
|
return {
|
|
127
154
|
id: `alterNullability.setNotNull.${tableName}.${columnName}`,
|
|
128
155
|
label: `Set NOT NULL on "${tableName}"."${columnName}"`,
|
|
129
|
-
operationClass: "
|
|
156
|
+
operationClass: "widening",
|
|
130
157
|
target: targetDetails("column", columnName, schemaName, tableName),
|
|
131
158
|
precheck: [step(`ensure column "${columnName}" exists`, present.sql, present.params), step(`ensure no NULL values in "${columnName}"`, noNulls.sql, noNulls.params)],
|
|
132
159
|
execute: [step(`set NOT NULL on "${columnName}"`, `ALTER TABLE ${qualified} ALTER COLUMN ${quoteIdentifier(columnName)} SET NOT NULL`)],
|
|
@@ -271,7 +298,7 @@ async function dropDefault(schemaName, tableName, columnName, lowerer) {
|
|
|
271
298
|
return {
|
|
272
299
|
id: `dropDefault.${tableName}.${columnName}`,
|
|
273
300
|
label: `Drop default on "${tableName}"."${columnName}"`,
|
|
274
|
-
operationClass: "
|
|
301
|
+
operationClass: "widening",
|
|
275
302
|
target: targetDetails("column", columnName, schemaName, tableName),
|
|
276
303
|
precheck: [step(`ensure column "${columnName}" exists`, present.sql, present.params)],
|
|
277
304
|
execute: [step(`drop default on "${columnName}"`, dropDefaultExec.sql)],
|
|
@@ -421,6 +448,9 @@ const CONSTRAINT_KIND_LABEL = {
|
|
|
421
448
|
function renameConstraintLabel(kind, fromName, toName, tableName) {
|
|
422
449
|
return `Rename ${CONSTRAINT_KIND_LABEL[kind]} "${fromName}" to "${toName}" on "${tableName}"`;
|
|
423
450
|
}
|
|
451
|
+
function renameConstraintOperationId(kind, schemaName, tableName, fromName) {
|
|
452
|
+
return `${kind}.${schemaName}.${tableName}.${fromName}.rename`;
|
|
453
|
+
}
|
|
424
454
|
async function renameConstraint(schemaName, tableName, kind, fromName, toName, lowerer) {
|
|
425
455
|
const qualified = qualifyTableName(schemaName, tableName);
|
|
426
456
|
const from = await constraintCheckSteps(lowerer, {
|
|
@@ -434,7 +464,7 @@ async function renameConstraint(schemaName, tableName, kind, fromName, toName, l
|
|
|
434
464
|
table: tableName
|
|
435
465
|
});
|
|
436
466
|
return {
|
|
437
|
-
id:
|
|
467
|
+
id: renameConstraintOperationId(kind, schemaName, tableName, fromName),
|
|
438
468
|
label: renameConstraintLabel(kind, fromName, toName, tableName),
|
|
439
469
|
operationClass: "widening",
|
|
440
470
|
target: targetDetails(kind, toName, schemaName, tableName),
|
|
@@ -453,7 +483,7 @@ async function dropCheckConstraint(schemaName, tableName, constraintName, lowere
|
|
|
453
483
|
return {
|
|
454
484
|
id: `dropCheckConstraint.${tableName}.${constraintName}`,
|
|
455
485
|
label: `Drop check constraint "${constraintName}" on "${tableName}"`,
|
|
456
|
-
operationClass: "
|
|
486
|
+
operationClass: "widening",
|
|
457
487
|
target: targetDetails("checkConstraint", constraintName, schemaName, tableName),
|
|
458
488
|
precheck: [step(`ensure constraint "${constraintName}" exists`, present.sql, present.params)],
|
|
459
489
|
execute: [step(`drop check constraint "${constraintName}"`, `ALTER TABLE ${qualified} DROP CONSTRAINT ${quoteIdentifier(constraintName)}`)],
|
|
@@ -477,7 +507,7 @@ async function dropConstraint(schemaName, tableName, constraintName, lowerer, ki
|
|
|
477
507
|
return {
|
|
478
508
|
id: `dropConstraint.${tableName}.${constraintName}`,
|
|
479
509
|
label: `Drop constraint "${constraintName}" on "${tableName}"`,
|
|
480
|
-
operationClass: "
|
|
510
|
+
operationClass: "widening",
|
|
481
511
|
target: targetDetails(kind, constraintName, schemaName, tableName),
|
|
482
512
|
precheck: [step(`ensure constraint "${constraintName}" exists`, present.sql, present.params)],
|
|
483
513
|
execute: [step(`drop constraint "${constraintName}"`, `ALTER TABLE ${qualified} DROP CONSTRAINT ${quoteIdentifier(constraintName)}`)],
|
|
@@ -567,12 +597,10 @@ async function createIndex(schemaName, tableName, indexName, elements, lowerer,
|
|
|
567
597
|
postcheck: [step(`verify index "${indexName}" exists`, present.sql, present.params)]
|
|
568
598
|
};
|
|
569
599
|
}
|
|
570
|
-
/**
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
* rename widens anything.
|
|
575
|
-
*/
|
|
600
|
+
/** `ALTER INDEX … RENAME TO`: `widening`, because a rename keeps every row and value. */
|
|
601
|
+
function renameIndexOperationId(schemaName, tableName, fromName) {
|
|
602
|
+
return `index.${schemaName}.${tableName}.${fromName}.rename`;
|
|
603
|
+
}
|
|
576
604
|
async function renameIndex(schemaName, tableName, fromName, toName, lowerer) {
|
|
577
605
|
const fromChecks = indexExistsAst(schemaName, fromName);
|
|
578
606
|
const toChecks = indexExistsAst(schemaName, toName);
|
|
@@ -586,7 +614,7 @@ async function renameIndex(schemaName, tableName, fromName, toName, lowerer) {
|
|
|
586
614
|
});
|
|
587
615
|
const execute = await lowerer.lowerToExecuteRequest(ddlNode);
|
|
588
616
|
return {
|
|
589
|
-
id:
|
|
617
|
+
id: renameIndexOperationId(schemaName, tableName, fromName),
|
|
590
618
|
label: `Rename index "${fromName}" to "${toName}" on "${tableName}"`,
|
|
591
619
|
operationClass: "widening",
|
|
592
620
|
target: targetDetails("index", toName, schemaName, tableName),
|
|
@@ -605,7 +633,7 @@ async function dropIndex(schemaName, tableName, indexName, lowerer) {
|
|
|
605
633
|
return {
|
|
606
634
|
id: `dropIndex.${tableName}.${indexName}`,
|
|
607
635
|
label: `Drop index "${indexName}"`,
|
|
608
|
-
operationClass: "
|
|
636
|
+
operationClass: "widening",
|
|
609
637
|
target: targetDetails("index", indexName, schemaName, tableName),
|
|
610
638
|
precheck: [step(`ensure index "${indexName}" exists`, present.sql, present.params)],
|
|
611
639
|
execute: [step(`drop index "${indexName}"`, execute.sql, execute.params)],
|
|
@@ -648,7 +676,7 @@ async function dropNativeEnumType(schemaName, typeName, lowerer) {
|
|
|
648
676
|
return {
|
|
649
677
|
id: `dropNativeEnumType.${typeName}`,
|
|
650
678
|
label: `Drop enum type "${typeName}"`,
|
|
651
|
-
operationClass: "
|
|
679
|
+
operationClass: "widening",
|
|
652
680
|
target: targetDetails("type", typeName, schemaName),
|
|
653
681
|
precheck: [],
|
|
654
682
|
execute: [step(`drop enum type "${typeName}"`, statement.sql, statement.params)],
|
|
@@ -710,7 +738,7 @@ async function dropRlsPolicy(schemaName, tableName, policyName, lowerer) {
|
|
|
710
738
|
return {
|
|
711
739
|
id: `rlsPolicy.${schemaName}.${tableName}.${policyName}.drop`,
|
|
712
740
|
label: `Drop RLS policy "${policyName}" on "${tableName}"`,
|
|
713
|
-
operationClass: "
|
|
741
|
+
operationClass: "widening",
|
|
714
742
|
target: targetDetails("rlsPolicy", policyName, schemaName, tableName),
|
|
715
743
|
precheck: [step(`ensure RLS policy "${policyName}" exists`, present.sql, present.params)],
|
|
716
744
|
execute: [step(`drop RLS policy "${policyName}"`, execute.sql, execute.params)],
|
|
@@ -743,7 +771,7 @@ async function disableRowLevelSecurity(schemaName, tableName, lowerer) {
|
|
|
743
771
|
return {
|
|
744
772
|
id: `rowLevelSecurity.${schemaName}.${tableName}.disable`,
|
|
745
773
|
label: `Disable row-level security on "${tableName}"`,
|
|
746
|
-
operationClass: "
|
|
774
|
+
operationClass: "widening",
|
|
747
775
|
target: targetDetails("rowLevelSecurity", tableName, schemaName),
|
|
748
776
|
precheck: [step(`check RLS is currently enabled on "${tableName}"`, enabled.sql, enabled.params)],
|
|
749
777
|
execute: [step(`disable row-level security on "${tableName}"`, execute.sql, execute.params)],
|
|
@@ -798,6 +826,9 @@ async function dropTable(schemaName, tableName, lowerer) {
|
|
|
798
826
|
function renameTableStatement(schemaName, fromName, toName) {
|
|
799
827
|
return `ALTER TABLE ${qualifyTableName(schemaName, fromName)} RENAME TO ${quoteIdentifier(toName)}`;
|
|
800
828
|
}
|
|
829
|
+
function renameTableOperationId(fromName) {
|
|
830
|
+
return `renameTable.${fromName}`;
|
|
831
|
+
}
|
|
801
832
|
async function renameTable(schemaName, fromName, toName, lowerer) {
|
|
802
833
|
const fromChecks = tableExistsAst(schemaName, fromName);
|
|
803
834
|
const toChecks = tableExistsAst(schemaName, toName);
|
|
@@ -806,7 +837,7 @@ async function renameTable(schemaName, fromName, toName, lowerer) {
|
|
|
806
837
|
const toPresent = await lowerer.lowerToExecuteRequest(toChecks.tablePresent());
|
|
807
838
|
const fromAbsent = await lowerer.lowerToExecuteRequest(fromChecks.tableAbsent());
|
|
808
839
|
return {
|
|
809
|
-
id:
|
|
840
|
+
id: renameTableOperationId(fromName),
|
|
810
841
|
label: `Rename table "${fromName}" to "${toName}"`,
|
|
811
842
|
operationClass: "widening",
|
|
812
843
|
target: targetDetails("table", toName, schemaName),
|
|
@@ -899,7 +930,7 @@ async function buildAddNotNullColumnWithTemporaryDefaultOperation(options) {
|
|
|
899
930
|
*
|
|
900
931
|
* - `toOp()` — converts the IR node to a runtime
|
|
901
932
|
* `SqlMigrationPlanOperation` by delegating to the matching pure factory
|
|
902
|
-
* under `operations/`. `DataTransformCall.toOp()` always
|
|
933
|
+
* under `operations/`. `DataTransformCall.toOp()` always rejects with
|
|
903
934
|
* `MIGRATION.UNFILLED_PLACEHOLDER` because a planner-generated data transform is an
|
|
904
935
|
* unfilled authoring stub by construction.
|
|
905
936
|
* - `renderTypeScript()` / `importRequirements()` — inherited from
|
|
@@ -912,6 +943,10 @@ async function buildAddNotNullColumnWithTemporaryDefaultOperation(options) {
|
|
|
912
943
|
*/
|
|
913
944
|
const POSTGRES_MIGRATION_FACADE = "@internal/postgres/migration";
|
|
914
945
|
var PostgresOpFactoryCallNode = class extends TsExpression {
|
|
946
|
+
/** The operations this call lowers to, in order: one, unless the call carries companions. */
|
|
947
|
+
toOps(lowerer) {
|
|
948
|
+
return [this.toOp(lowerer)];
|
|
949
|
+
}
|
|
915
950
|
importRequirements() {
|
|
916
951
|
return [{
|
|
917
952
|
moduleSpecifier: POSTGRES_MIGRATION_FACADE,
|
|
@@ -922,6 +957,10 @@ var PostgresOpFactoryCallNode = class extends TsExpression {
|
|
|
922
957
|
Object.freeze(this);
|
|
923
958
|
}
|
|
924
959
|
};
|
|
960
|
+
/** Whether `call` is one of this target's calls, which lower through {@link PostgresOpFactoryCallNode.toOps}. */
|
|
961
|
+
function isPostgresOpFactoryCall(call) {
|
|
962
|
+
return call instanceof PostgresOpFactoryCallNode;
|
|
963
|
+
}
|
|
925
964
|
function postgresDefaultToDdlColumnDefault(columnDefault) {
|
|
926
965
|
if (!columnDefault) return void 0;
|
|
927
966
|
switch (columnDefault.kind) {
|
|
@@ -1099,14 +1138,23 @@ var RenameTableCall = class extends PostgresOpFactoryCallNode {
|
|
|
1099
1138
|
/** The new name: the table's contract-side identity after the rename. */
|
|
1100
1139
|
tableName;
|
|
1101
1140
|
label;
|
|
1102
|
-
|
|
1141
|
+
/**
|
|
1142
|
+
* The renames of objects whose names derive from the table name. They run after the table rename
|
|
1143
|
+
* and are never rendered on their own.
|
|
1144
|
+
*/
|
|
1145
|
+
companions;
|
|
1146
|
+
constructor(schemaName, oldTableName, tableName, companions) {
|
|
1103
1147
|
super();
|
|
1104
1148
|
this.schemaName = schemaName;
|
|
1105
1149
|
this.oldTableName = oldTableName;
|
|
1106
1150
|
this.tableName = tableName;
|
|
1107
1151
|
this.label = `Rename table "${oldTableName}" to "${tableName}"`;
|
|
1152
|
+
this.companions = Object.freeze([...companions]);
|
|
1108
1153
|
this.freeze();
|
|
1109
1154
|
}
|
|
1155
|
+
toOps(lowerer) {
|
|
1156
|
+
return [this.toOp(lowerer), ...this.companions.map((companion) => companion.toOp(lowerer))];
|
|
1157
|
+
}
|
|
1110
1158
|
async toOp(lowerer) {
|
|
1111
1159
|
if (lowerer === void 0) throw postgresError("MIGRATION.POSTGRES_CONTROL_STACK_MISSING", `RenameTableCall.toOp: a lowerer is required on the Postgres planner path (table "${this.oldTableName}"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: "RenameTableCall" } });
|
|
1112
1160
|
return renameTable(this.schemaName, this.oldTableName, this.tableName, lowerer);
|
|
@@ -1184,6 +1232,49 @@ var AddColumnCall = class extends PostgresOpFactoryCallNode {
|
|
|
1184
1232
|
return req;
|
|
1185
1233
|
}
|
|
1186
1234
|
};
|
|
1235
|
+
var RenameColumnCall = class extends PostgresOpFactoryCallNode {
|
|
1236
|
+
factoryName = "renameColumn";
|
|
1237
|
+
operationClass = "widening";
|
|
1238
|
+
schemaName;
|
|
1239
|
+
tableName;
|
|
1240
|
+
oldColumnName;
|
|
1241
|
+
/** The new name: the column's contract-side identity after the rename. */
|
|
1242
|
+
columnName;
|
|
1243
|
+
label;
|
|
1244
|
+
/**
|
|
1245
|
+
* The renames of objects whose names derive from the column name. They run after the column
|
|
1246
|
+
* rename and are never rendered on their own.
|
|
1247
|
+
*/
|
|
1248
|
+
companions;
|
|
1249
|
+
constructor(schemaName, tableName, oldColumnName, columnName, companions) {
|
|
1250
|
+
super();
|
|
1251
|
+
this.schemaName = schemaName;
|
|
1252
|
+
this.tableName = tableName;
|
|
1253
|
+
this.oldColumnName = oldColumnName;
|
|
1254
|
+
this.columnName = columnName;
|
|
1255
|
+
this.label = `Rename column "${tableName}"."${oldColumnName}" to "${columnName}"`;
|
|
1256
|
+
this.companions = Object.freeze([...companions]);
|
|
1257
|
+
this.freeze();
|
|
1258
|
+
}
|
|
1259
|
+
toOps(lowerer) {
|
|
1260
|
+
return [this.toOp(lowerer), ...this.companions.map((companion) => companion.toOp(lowerer))];
|
|
1261
|
+
}
|
|
1262
|
+
async toOp(lowerer) {
|
|
1263
|
+
if (lowerer === void 0) throw postgresError("MIGRATION.POSTGRES_CONTROL_STACK_MISSING", `RenameColumnCall.toOp: a lowerer is required on the Postgres planner path (column "${this.oldColumnName}" on table "${this.tableName}"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: "RenameColumnCall" } });
|
|
1264
|
+
return renameColumn(this.schemaName, this.tableName, this.oldColumnName, this.columnName, lowerer);
|
|
1265
|
+
}
|
|
1266
|
+
renderTypeScript() {
|
|
1267
|
+
const opts = [];
|
|
1268
|
+
if (this.schemaName !== UNBOUND_NAMESPACE_ID) opts.push(`schema: ${jsonToTsSource(this.schemaName)}`);
|
|
1269
|
+
opts.push(`table: ${jsonToTsSource(this.tableName)}`);
|
|
1270
|
+
opts.push(`column: ${jsonToTsSource(this.oldColumnName)}`);
|
|
1271
|
+
opts.push(`to: ${jsonToTsSource(this.columnName)}`);
|
|
1272
|
+
return `...this.renameColumn({ ${opts.join(", ")} })`;
|
|
1273
|
+
}
|
|
1274
|
+
importRequirements() {
|
|
1275
|
+
return [];
|
|
1276
|
+
}
|
|
1277
|
+
};
|
|
1187
1278
|
var DropColumnCall = class extends PostgresOpFactoryCallNode {
|
|
1188
1279
|
factoryName = "dropColumn";
|
|
1189
1280
|
operationClass = "destructive";
|
|
@@ -1216,24 +1307,25 @@ var DropColumnCall = class extends PostgresOpFactoryCallNode {
|
|
|
1216
1307
|
};
|
|
1217
1308
|
var AlterColumnTypeCall = class extends PostgresOpFactoryCallNode {
|
|
1218
1309
|
factoryName = "alterColumnType";
|
|
1219
|
-
operationClass
|
|
1310
|
+
operationClass;
|
|
1220
1311
|
schemaName;
|
|
1221
1312
|
tableName;
|
|
1222
1313
|
columnName;
|
|
1223
1314
|
options;
|
|
1224
1315
|
label;
|
|
1225
|
-
constructor(schemaName, tableName, columnName, options) {
|
|
1316
|
+
constructor(schemaName, tableName, columnName, options, operationClass = "destructive") {
|
|
1226
1317
|
super();
|
|
1227
1318
|
this.schemaName = schemaName;
|
|
1228
1319
|
this.tableName = tableName;
|
|
1229
1320
|
this.columnName = columnName;
|
|
1230
1321
|
this.options = options;
|
|
1322
|
+
this.operationClass = operationClass;
|
|
1231
1323
|
this.label = `Alter type of "${tableName}"."${columnName}" to ${options.rawTargetTypeForLabel}`;
|
|
1232
1324
|
this.freeze();
|
|
1233
1325
|
}
|
|
1234
1326
|
async toOp(lowerer) {
|
|
1235
1327
|
if (lowerer === void 0) throw postgresError("MIGRATION.POSTGRES_CONTROL_STACK_MISSING", `AlterColumnTypeCall.toOp: a lowerer is required on the Postgres planner path (column "${this.columnName}" on table "${this.tableName}"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: "AlterColumnTypeCall" } });
|
|
1236
|
-
return alterColumnType(this.schemaName, this.tableName, this.columnName, this.options, lowerer);
|
|
1328
|
+
return alterColumnType(this.schemaName, this.tableName, this.columnName, this.options, lowerer, this.operationClass);
|
|
1237
1329
|
}
|
|
1238
1330
|
renderTypeScript() {
|
|
1239
1331
|
const opts = [];
|
|
@@ -1241,6 +1333,7 @@ var AlterColumnTypeCall = class extends PostgresOpFactoryCallNode {
|
|
|
1241
1333
|
opts.push(`table: ${jsonToTsSource(this.tableName)}`);
|
|
1242
1334
|
opts.push(`column: ${jsonToTsSource(this.columnName)}`);
|
|
1243
1335
|
opts.push(`options: ${jsonToTsSource(this.options)}`);
|
|
1336
|
+
if (this.operationClass !== "destructive") opts.push(`operationClass: ${jsonToTsSource(this.operationClass)}`);
|
|
1244
1337
|
return `this.alterColumnType({ ${opts.join(", ")} })`;
|
|
1245
1338
|
}
|
|
1246
1339
|
importRequirements() {
|
|
@@ -1249,7 +1342,7 @@ var AlterColumnTypeCall = class extends PostgresOpFactoryCallNode {
|
|
|
1249
1342
|
};
|
|
1250
1343
|
var SetNotNullCall = class extends PostgresOpFactoryCallNode {
|
|
1251
1344
|
factoryName = "setNotNull";
|
|
1252
|
-
operationClass = "
|
|
1345
|
+
operationClass = "widening";
|
|
1253
1346
|
schemaName;
|
|
1254
1347
|
tableName;
|
|
1255
1348
|
columnName;
|
|
@@ -1348,7 +1441,7 @@ var SetDefaultCall = class extends PostgresOpFactoryCallNode {
|
|
|
1348
1441
|
};
|
|
1349
1442
|
var DropDefaultCall = class extends PostgresOpFactoryCallNode {
|
|
1350
1443
|
factoryName = "dropDefault";
|
|
1351
|
-
operationClass = "
|
|
1444
|
+
operationClass = "widening";
|
|
1352
1445
|
schemaName;
|
|
1353
1446
|
tableName;
|
|
1354
1447
|
columnName;
|
|
@@ -1562,7 +1655,7 @@ var AddForeignKeyCall = class extends PostgresOpFactoryCallNode {
|
|
|
1562
1655
|
};
|
|
1563
1656
|
var DropConstraintCall = class extends PostgresOpFactoryCallNode {
|
|
1564
1657
|
factoryName = "dropConstraint";
|
|
1565
|
-
operationClass = "
|
|
1658
|
+
operationClass = "widening";
|
|
1566
1659
|
schemaName;
|
|
1567
1660
|
tableName;
|
|
1568
1661
|
constraintName;
|
|
@@ -1657,7 +1750,7 @@ var AddCheckConstraintCall = class extends PostgresOpFactoryCallNode {
|
|
|
1657
1750
|
};
|
|
1658
1751
|
var DropCheckConstraintCall = class extends PostgresOpFactoryCallNode {
|
|
1659
1752
|
factoryName = "dropCheckConstraint";
|
|
1660
|
-
operationClass = "
|
|
1753
|
+
operationClass = "widening";
|
|
1661
1754
|
schemaName;
|
|
1662
1755
|
tableName;
|
|
1663
1756
|
constraintName;
|
|
@@ -1775,7 +1868,7 @@ var RenameIndexCall = class extends PostgresOpFactoryCallNode {
|
|
|
1775
1868
|
};
|
|
1776
1869
|
var DropIndexCall = class extends PostgresOpFactoryCallNode {
|
|
1777
1870
|
factoryName = "dropIndex";
|
|
1778
|
-
operationClass = "
|
|
1871
|
+
operationClass = "widening";
|
|
1779
1872
|
schemaName;
|
|
1780
1873
|
tableName;
|
|
1781
1874
|
indexName;
|
|
@@ -1925,7 +2018,7 @@ var CreateNativeEnumTypeCall = class extends PostgresOpFactoryCallNode {
|
|
|
1925
2018
|
};
|
|
1926
2019
|
var DropNativeEnumTypeCall = class extends PostgresOpFactoryCallNode {
|
|
1927
2020
|
factoryName = "dropNativeEnumType";
|
|
1928
|
-
operationClass = "
|
|
2021
|
+
operationClass = "widening";
|
|
1929
2022
|
schemaName;
|
|
1930
2023
|
typeName;
|
|
1931
2024
|
label;
|
|
@@ -2019,7 +2112,7 @@ var AddNativeEnumValueCall = class extends PostgresOpFactoryCallNode {
|
|
|
2019
2112
|
/**
|
|
2020
2113
|
* A planner-generated data-transform stub. `checkSlot` and `runSlot` name
|
|
2021
2114
|
* the unfilled authoring slots that the rendered `migration.ts` will expose
|
|
2022
|
-
* to the user via `placeholder("…")` calls. `toOp()` always
|
|
2115
|
+
* to the user via `placeholder("…")` calls. `toOp()` always rejects with
|
|
2023
2116
|
* `MIGRATION.UNFILLED_PLACEHOLDER`: the planner cannot lower a stubbed transform to a runtime
|
|
2024
2117
|
* op — the user must fill the rendered `migration.ts` and re-emit.
|
|
2025
2118
|
*/
|
|
@@ -2038,7 +2131,7 @@ var DataTransformCall = class extends PostgresOpFactoryCallNode {
|
|
|
2038
2131
|
this.freeze();
|
|
2039
2132
|
}
|
|
2040
2133
|
toOp() {
|
|
2041
|
-
|
|
2134
|
+
return unfilledPlaceholderOperation(this.label);
|
|
2042
2135
|
}
|
|
2043
2136
|
renderTypeScript() {
|
|
2044
2137
|
return [
|
|
@@ -2105,7 +2198,7 @@ var CreatePostgresRlsPolicyCall = class extends PostgresOpFactoryCallNode {
|
|
|
2105
2198
|
};
|
|
2106
2199
|
var DropPostgresRlsPolicyCall = class extends PostgresOpFactoryCallNode {
|
|
2107
2200
|
factoryName = "dropRlsPolicy";
|
|
2108
|
-
operationClass = "
|
|
2201
|
+
operationClass = "widening";
|
|
2109
2202
|
schemaName;
|
|
2110
2203
|
tableName;
|
|
2111
2204
|
policyName;
|
|
@@ -2155,7 +2248,7 @@ var EnableRowLevelSecurityCall = class extends PostgresOpFactoryCallNode {
|
|
|
2155
2248
|
};
|
|
2156
2249
|
var DisableRowLevelSecurityCall = class extends PostgresOpFactoryCallNode {
|
|
2157
2250
|
factoryName = "disableRowLevelSecurity";
|
|
2158
|
-
operationClass = "
|
|
2251
|
+
operationClass = "widening";
|
|
2159
2252
|
schemaName;
|
|
2160
2253
|
tableName;
|
|
2161
2254
|
label;
|
|
@@ -2211,6 +2304,6 @@ function columnNameOfCall(call) {
|
|
|
2211
2304
|
if ("column" in call && call.column instanceof DdlColumn) return call.column.name;
|
|
2212
2305
|
}
|
|
2213
2306
|
//#endregion
|
|
2214
|
-
export {
|
|
2307
|
+
export { RenameConstraintCall as A, isPostgresOpFactoryCall as B, DropNativeEnumTypeCall as C, EnableRowLevelSecurityCall as D, DropTableCall as E, SetNotNullCall as F, renameTableStatement as H, buildTargetDetails as I, columnNameOfCall as L, RenamePostgresRlsPolicyCall as M, RenameTableCall as N, RawSqlCall as O, SetDefaultCall as P, createExtension as R, DropIndexCall as S, DropPostgresRlsPolicyCall as T, postgresDefaultToDdlColumnDefault as V, DisableRowLevelSecurityCall as _, AddNotNullColumnDirectCall as a, DropConstraintCall as b, AddUniqueCall as c, CreateIndexCall as d, CreateNativeEnumTypeCall as f, DataTransformCall as g, CreateTableCall as h, AddNativeEnumValueCall as i, RenameIndexCall as j, RenameColumnCall as k, AlterColumnTypeCall as l, CreateSchemaCall as m, AddColumnCall as n, AddNotNullColumnWithTempDefaultCall as o, CreatePostgresRlsPolicyCall as p, AddForeignKeyCall as r, AddPrimaryKeyCall as s, AddCheckConstraintCall as t, CreateExtensionCall as u, DropCheckConstraintCall as v, DropNotNullCall as w, DropDefaultCall as x, DropColumnCall as y, installExtension as z };
|
|
2215
2308
|
|
|
2216
|
-
//# sourceMappingURL=op-factory-call-
|
|
2309
|
+
//# sourceMappingURL=op-factory-call-CXlapjuM-BHZNE4Ph.mjs.map
|