@prisma-next/target-postgres 0.13.0-dev.3 → 0.13.0-dev.30
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-CTikp1if.mjs → codec-ids-BvytN2P8.mjs} +3 -3
- package/dist/codec-ids-BvytN2P8.mjs.map +1 -0
- package/dist/{codec-ids-B1vOchLE.d.mts → codec-ids-CnXu9Qy3.d.mts} +3 -3
- package/dist/codec-ids-CnXu9Qy3.d.mts.map +1 -0
- package/dist/codec-ids.d.mts +2 -2
- package/dist/codec-ids.mjs +2 -2
- package/dist/{codec-types-CnFiNML4.d.mts → codec-types-DHCkwPKE.d.mts} +3 -3
- package/dist/{codec-types-CnFiNML4.d.mts.map → codec-types-DHCkwPKE.d.mts.map} +1 -1
- package/dist/codec-types.d.mts +1 -1
- package/dist/{codecs-CBpEv4s5.d.mts → codecs--0A5_4Bq.d.mts} +26 -23
- package/dist/codecs--0A5_4Bq.d.mts.map +1 -0
- package/dist/codecs.d.mts +2 -2
- package/dist/codecs.mjs +28 -35
- package/dist/codecs.mjs.map +1 -1
- package/dist/contract-free.d.mts +17 -2
- package/dist/contract-free.d.mts.map +1 -1
- package/dist/contract-free.mjs +3 -3
- package/dist/control.d.mts.map +1 -1
- package/dist/control.mjs +21 -27
- package/dist/control.mjs.map +1 -1
- package/dist/{data-transform-D25tLeYU.mjs → data-transform-BOWpliq8.mjs} +9 -17
- package/dist/data-transform-BOWpliq8.mjs.map +1 -0
- package/dist/{data-transform-DGOqcLrf.d.mts → data-transform-DDgWdB5o.d.mts} +2 -2
- package/dist/data-transform-DDgWdB5o.d.mts.map +1 -0
- package/dist/data-transform.d.mts +1 -1
- package/dist/data-transform.mjs +1 -1
- package/dist/{ddl-77SyXgFt.mjs → ddl-DY2R_Yqz.mjs} +18 -3
- package/dist/ddl-DY2R_Yqz.mjs.map +1 -0
- package/dist/ddl.d.mts +2 -2
- package/dist/ddl.mjs +2 -2
- package/dist/{descriptor-meta-DKmj-IMN.mjs → descriptor-meta-BKma_hQ5.mjs} +2 -2
- package/dist/{descriptor-meta-DKmj-IMN.mjs.map → descriptor-meta-BKma_hQ5.mjs.map} +1 -1
- package/dist/descriptor-meta-runtime-e5f2tscJ.mjs +131 -0
- package/dist/descriptor-meta-runtime-e5f2tscJ.mjs.map +1 -0
- package/dist/{issue-planner-Br0pt1Ea.mjs → issue-planner-DsjB7xDj.mjs} +48 -252
- package/dist/issue-planner-DsjB7xDj.mjs.map +1 -0
- package/dist/issue-planner.d.mts +8 -11
- package/dist/issue-planner.d.mts.map +1 -1
- package/dist/issue-planner.mjs +1 -1
- package/dist/migration.d.mts +4 -15
- package/dist/migration.d.mts.map +1 -1
- package/dist/migration.mjs +4 -4
- package/dist/{nodes-DZk2JZG3.mjs → nodes-Bbhs2rwj.mjs} +31 -2
- package/dist/nodes-Bbhs2rwj.mjs.map +1 -0
- package/dist/{nodes-779hmCfL.d.mts → nodes-pLeLgdis.d.mts} +30 -3
- package/dist/nodes-pLeLgdis.d.mts.map +1 -0
- package/dist/{op-factory-call-DMA86_2D.d.mts → op-factory-call-CdtMyrlU.d.mts} +12 -56
- package/dist/op-factory-call-CdtMyrlU.d.mts.map +1 -0
- package/dist/{op-factory-call-D2aAUhmS.mjs → op-factory-call-CjR846f7.mjs} +70 -198
- package/dist/op-factory-call-CjR846f7.mjs.map +1 -0
- package/dist/op-factory-call.d.mts +2 -2
- package/dist/op-factory-call.mjs +2 -2
- package/dist/pack.d.mts +36 -15
- package/dist/pack.d.mts.map +1 -1
- package/dist/pack.mjs +1 -1
- package/dist/{planner-CAYPJObw.mjs → planner-_FOL4I21.mjs} +25 -45
- package/dist/planner-_FOL4I21.mjs.map +1 -0
- package/dist/{planner-ddl-builders-Cw2n2llW.mjs → planner-ddl-builders-B2wOwLqI.mjs} +2 -2
- package/dist/planner-ddl-builders-B2wOwLqI.mjs.map +1 -0
- package/dist/planner-ddl-builders.d.mts +4 -4
- package/dist/planner-ddl-builders.d.mts.map +1 -1
- package/dist/planner-ddl-builders.mjs +1 -1
- package/dist/{planner-identity-values-BIpa5p2I.mjs → planner-identity-values-CJPha2Sz.mjs} +3 -9
- package/dist/planner-identity-values-CJPha2Sz.mjs.map +1 -0
- package/dist/planner-identity-values.d.mts +1 -1
- package/dist/planner-identity-values.d.mts.map +1 -1
- package/dist/planner-identity-values.mjs +1 -1
- package/dist/{planner-produced-postgres-migration-NSEhWL0L.mjs → planner-produced-postgres-migration-BmCpyWLJ.mjs} +6 -4
- package/dist/planner-produced-postgres-migration-BmCpyWLJ.mjs.map +1 -0
- package/dist/{planner-produced-postgres-migration-B4EDvLdz.d.mts → planner-produced-postgres-migration-wLhnJMMA.d.mts} +5 -6
- package/dist/planner-produced-postgres-migration-wLhnJMMA.d.mts.map +1 -0
- package/dist/planner-produced-postgres-migration.d.mts +1 -1
- package/dist/planner-produced-postgres-migration.mjs +1 -1
- package/dist/{planner-sql-checks-DAdhnI2c.mjs → planner-sql-checks-CJJtPfDH.mjs} +3 -3
- package/dist/planner-sql-checks-CJJtPfDH.mjs.map +1 -0
- package/dist/planner-sql-checks.d.mts +2 -2
- package/dist/planner-sql-checks.d.mts.map +1 -1
- package/dist/planner-sql-checks.mjs +1 -1
- package/dist/{planner-type-resolution-836DExFN.mjs → planner-type-resolution-Bt2f_q-F.mjs} +1 -6
- package/dist/planner-type-resolution-Bt2f_q-F.mjs.map +1 -0
- package/dist/planner.d.mts +4 -4
- package/dist/planner.d.mts.map +1 -1
- package/dist/planner.mjs +1 -1
- package/dist/{postgres-contract-serializer-DYTyXjPf.mjs → postgres-contract-serializer-CyAe8ZFv.mjs} +27 -37
- package/dist/postgres-contract-serializer-CyAe8ZFv.mjs.map +1 -0
- package/dist/{postgres-migration-DZ_gLUOW.d.mts → postgres-migration-DLXL0GBf.d.mts} +10 -5
- package/dist/postgres-migration-DLXL0GBf.d.mts.map +1 -0
- package/dist/{postgres-migration-COore9Mz.mjs → postgres-migration-dG-J0aI8.mjs} +7 -3
- package/dist/postgres-migration-dG-J0aI8.mjs.map +1 -0
- package/dist/{postgres-schema-BuxCxbvB.mjs → postgres-schema-CTKYiTHu.mjs} +30 -13
- package/dist/postgres-schema-CTKYiTHu.mjs.map +1 -0
- package/dist/{render-ops-BpjstrKQ.mjs → render-ops-BREh1kHe.mjs} +10 -5
- package/dist/render-ops-BREh1kHe.mjs.map +1 -0
- package/dist/render-ops.d.mts +2 -2
- package/dist/render-ops.d.mts.map +1 -1
- package/dist/render-ops.mjs +1 -1
- package/dist/runtime.d.mts.map +1 -1
- package/dist/runtime.mjs +2 -2
- package/dist/{shared-DarONYBZ.d.mts → shared-jcsbXxiW.d.mts} +2 -20
- package/dist/shared-jcsbXxiW.d.mts.map +1 -0
- package/dist/types.d.mts +8 -13
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs +2 -3
- package/package.json +17 -18
- package/src/contract-free/ddl.ts +28 -1
- package/src/core/authoring.ts +43 -44
- package/src/core/codec-helpers.ts +0 -17
- package/src/core/codec-ids.ts +1 -1
- package/src/core/codec-type-map.ts +2 -2
- package/src/core/codecs.ts +43 -48
- package/src/core/ddl/nodes.ts +59 -1
- package/src/core/migrations/control-policy.ts +17 -47
- package/src/core/migrations/issue-planner.ts +34 -70
- package/src/core/migrations/op-factory-call.ts +89 -142
- package/src/core/migrations/operations/data-transform.ts +15 -18
- package/src/core/migrations/planner-ddl-builders.ts +3 -4
- package/src/core/migrations/planner-identity-values.ts +4 -28
- package/src/core/migrations/planner-produced-postgres-migration.ts +15 -7
- package/src/core/migrations/planner-recipes.ts +2 -6
- package/src/core/migrations/planner-sql-checks.ts +2 -6
- package/src/core/migrations/planner-strategies.ts +51 -376
- package/src/core/migrations/planner-type-resolution.ts +2 -20
- package/src/core/migrations/planner.ts +6 -6
- package/src/core/migrations/postgres-migration.ts +19 -4
- package/src/core/migrations/render-ops.ts +26 -13
- package/src/core/migrations/runner.ts +26 -20
- package/src/core/postgres-contract-serializer.ts +32 -54
- package/src/core/postgres-enum-type-schema.ts +17 -0
- package/src/core/postgres-schema.ts +56 -34
- package/src/exports/codecs.ts +2 -2
- package/src/exports/contract-free.ts +1 -1
- package/src/exports/control.ts +0 -22
- package/src/exports/ddl.ts +4 -0
- package/src/exports/migration.ts +0 -7
- package/src/exports/op-factory-call.ts +0 -4
- package/src/exports/types.ts +0 -1
- package/dist/codec-ids-B1vOchLE.d.mts.map +0 -1
- package/dist/codec-ids-CTikp1if.mjs.map +0 -1
- package/dist/codecs-CBpEv4s5.d.mts.map +0 -1
- package/dist/data-transform-D25tLeYU.mjs.map +0 -1
- package/dist/data-transform-DGOqcLrf.d.mts.map +0 -1
- package/dist/ddl-77SyXgFt.mjs.map +0 -1
- package/dist/descriptor-meta-runtime-My8_s4cs.mjs +0 -130
- package/dist/descriptor-meta-runtime-My8_s4cs.mjs.map +0 -1
- package/dist/enum-planning-BCyvlFHk.mjs +0 -0
- package/dist/enum-planning-BCyvlFHk.mjs.map +0 -1
- package/dist/enum-planning.d.mts +0 -86
- package/dist/enum-planning.d.mts.map +0 -1
- package/dist/enum-planning.mjs +0 -2
- package/dist/issue-planner-Br0pt1Ea.mjs.map +0 -1
- package/dist/nodes-779hmCfL.d.mts.map +0 -1
- package/dist/nodes-DZk2JZG3.mjs.map +0 -1
- package/dist/op-factory-call-D2aAUhmS.mjs.map +0 -1
- package/dist/op-factory-call-DMA86_2D.d.mts.map +0 -1
- package/dist/planner-CAYPJObw.mjs.map +0 -1
- package/dist/planner-ddl-builders-Cw2n2llW.mjs.map +0 -1
- package/dist/planner-identity-values-BIpa5p2I.mjs.map +0 -1
- package/dist/planner-produced-postgres-migration-B4EDvLdz.d.mts.map +0 -1
- package/dist/planner-produced-postgres-migration-NSEhWL0L.mjs.map +0 -1
- package/dist/planner-sql-checks-DAdhnI2c.mjs.map +0 -1
- package/dist/planner-type-resolution-836DExFN.mjs.map +0 -1
- package/dist/postgres-contract-serializer-DYTyXjPf.mjs.map +0 -1
- package/dist/postgres-enum-type-BVn63a89.d.mts +0 -72
- package/dist/postgres-enum-type-BVn63a89.d.mts.map +0 -1
- package/dist/postgres-enum-type-DPKqCBem.mjs +0 -62
- package/dist/postgres-enum-type-DPKqCBem.mjs.map +0 -1
- package/dist/postgres-migration-COore9Mz.mjs.map +0 -1
- package/dist/postgres-migration-DZ_gLUOW.d.mts.map +0 -1
- package/dist/postgres-schema-BuxCxbvB.mjs.map +0 -1
- package/dist/render-ops-BpjstrKQ.mjs.map +0 -1
- package/dist/shared-DarONYBZ.d.mts.map +0 -1
- package/src/core/migrations/enum-planning.ts +0 -213
- package/src/core/migrations/operations/enums.ts +0 -114
- package/src/core/postgres-enum-type.ts +0 -89
- package/src/exports/enum-planning.ts +0 -11
|
@@ -1,12 +1,6 @@
|
|
|
1
1
|
import type { CodecControlHooks } from '@prisma-next/family-sql/control';
|
|
2
|
-
import {
|
|
3
|
-
isPostgresEnumStorageEntry,
|
|
4
|
-
type PostgresEnumStorageEntry,
|
|
5
|
-
type StorageColumn,
|
|
6
|
-
type StorageTypeInstance,
|
|
7
|
-
} from '@prisma-next/sql-contract/types';
|
|
2
|
+
import type { StorageColumn, StorageTypeInstance } from '@prisma-next/sql-contract/types';
|
|
8
3
|
import { ifDefined } from '@prisma-next/utils/defined';
|
|
9
|
-
import type { PostgresEnumType } from '../postgres-enum-type';
|
|
10
4
|
|
|
11
5
|
/**
|
|
12
6
|
* Resolves the identity value (monoid neutral element) as a SQL literal for a column's type.
|
|
@@ -16,30 +10,12 @@ import type { PostgresEnumType } from '../postgres-enum-type';
|
|
|
16
10
|
export function resolveIdentityValue(
|
|
17
11
|
column: StorageColumn,
|
|
18
12
|
codecHooks: Map<string, CodecControlHooks>,
|
|
19
|
-
storageTypes: Record<string, StorageTypeInstance
|
|
13
|
+
storageTypes: Record<string, StorageTypeInstance> = {},
|
|
20
14
|
): string | null {
|
|
21
15
|
const referencedType = column.typeRef ? storageTypes[column.typeRef] : undefined;
|
|
22
|
-
const
|
|
23
|
-
referencedType !== undefined && isPostgresEnumStorageEntry(referencedType);
|
|
24
|
-
const referencedBinding = referencedIsEnum
|
|
25
|
-
? ((referencedType as PostgresEnumType).codecBinding ?? {
|
|
26
|
-
codecId: (referencedType as PostgresEnumStorageEntry).codecId,
|
|
27
|
-
typeParams: { values: (referencedType as PostgresEnumStorageEntry).values },
|
|
28
|
-
})
|
|
29
|
-
: undefined;
|
|
30
|
-
const codecId =
|
|
31
|
-
referencedBinding?.codecId ??
|
|
32
|
-
(referencedType && !referencedIsEnum
|
|
33
|
-
? (referencedType as StorageTypeInstance).codecId
|
|
34
|
-
: undefined) ??
|
|
35
|
-
column.codecId;
|
|
16
|
+
const codecId = referencedType?.codecId ?? column.codecId;
|
|
36
17
|
const nativeType = referencedType?.nativeType ?? column.nativeType;
|
|
37
|
-
const typeParams =
|
|
38
|
-
(referencedBinding?.typeParams as Record<string, unknown> | undefined) ??
|
|
39
|
-
(referencedType && !referencedIsEnum
|
|
40
|
-
? (referencedType as StorageTypeInstance).typeParams
|
|
41
|
-
: undefined) ??
|
|
42
|
-
column.typeParams;
|
|
18
|
+
const typeParams = referencedType?.typeParams ?? column.typeParams;
|
|
43
19
|
|
|
44
20
|
if (codecId) {
|
|
45
21
|
const hookDefault = codecHooks.get(codecId)?.resolveIdentityValue?.({
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
*/
|
|
25
25
|
|
|
26
26
|
import type { SqlMigrationPlanOperation } from '@prisma-next/family-sql/control';
|
|
27
|
-
import type {
|
|
27
|
+
import type { ExecuteRequestLowerer } from '@prisma-next/family-sql/control-adapter';
|
|
28
28
|
import type {
|
|
29
29
|
MigrationPlanWithAuthoringSurface,
|
|
30
30
|
OpFactoryCall,
|
|
@@ -35,8 +35,6 @@ import { PostgresMigration } from './postgres-migration';
|
|
|
35
35
|
import { renderOps } from './render-ops';
|
|
36
36
|
import { renderCallsToTypeScript } from './render-typescript';
|
|
37
37
|
|
|
38
|
-
type Op = SqlMigrationPlanOperation<PostgresPlanTargetDetails>;
|
|
39
|
-
|
|
40
38
|
export class TypeScriptRenderablePostgresMigration
|
|
41
39
|
extends PostgresMigration
|
|
42
40
|
implements MigrationPlanWithAuthoringSurface
|
|
@@ -44,13 +42,19 @@ export class TypeScriptRenderablePostgresMigration
|
|
|
44
42
|
readonly #calls: readonly OpFactoryCall[];
|
|
45
43
|
readonly #meta: MigrationMeta;
|
|
46
44
|
readonly #spaceId: string;
|
|
47
|
-
readonly #lowerer:
|
|
45
|
+
readonly #lowerer: ExecuteRequestLowerer | undefined;
|
|
46
|
+
#operationsCache:
|
|
47
|
+
| readonly (
|
|
48
|
+
| SqlMigrationPlanOperation<PostgresPlanTargetDetails>
|
|
49
|
+
| Promise<SqlMigrationPlanOperation<PostgresPlanTargetDetails>>
|
|
50
|
+
)[]
|
|
51
|
+
| undefined;
|
|
48
52
|
|
|
49
53
|
constructor(
|
|
50
54
|
calls: readonly OpFactoryCall[],
|
|
51
55
|
meta: MigrationMeta,
|
|
52
56
|
spaceId: string,
|
|
53
|
-
lowerer?:
|
|
57
|
+
lowerer?: ExecuteRequestLowerer,
|
|
54
58
|
) {
|
|
55
59
|
super();
|
|
56
60
|
this.#calls = calls;
|
|
@@ -59,8 +63,12 @@ export class TypeScriptRenderablePostgresMigration
|
|
|
59
63
|
this.#lowerer = lowerer;
|
|
60
64
|
}
|
|
61
65
|
|
|
62
|
-
override get operations(): readonly
|
|
63
|
-
|
|
66
|
+
override get operations(): readonly (
|
|
67
|
+
| SqlMigrationPlanOperation<PostgresPlanTargetDetails>
|
|
68
|
+
| Promise<SqlMigrationPlanOperation<PostgresPlanTargetDetails>>
|
|
69
|
+
)[] {
|
|
70
|
+
this.#operationsCache ??= renderOps(this.#calls, this.#lowerer);
|
|
71
|
+
return this.#operationsCache;
|
|
64
72
|
}
|
|
65
73
|
|
|
66
74
|
override describe(): MigrationMeta {
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
import type { CodecControlHooks, SqlMigrationPlanOperation } from '@prisma-next/family-sql/control';
|
|
2
|
-
import type {
|
|
3
|
-
PostgresEnumStorageEntry,
|
|
4
|
-
StorageColumn,
|
|
5
|
-
StorageTypeInstance,
|
|
6
|
-
} from '@prisma-next/sql-contract/types';
|
|
2
|
+
import type { StorageColumn, StorageTypeInstance } from '@prisma-next/sql-contract/types';
|
|
7
3
|
import { quoteIdentifier } from '../sql-utils';
|
|
8
4
|
import { buildAddColumnSql } from './planner-ddl-builders';
|
|
9
5
|
import {
|
|
@@ -39,7 +35,7 @@ export function buildAddNotNullColumnWithTemporaryDefaultOperation(options: {
|
|
|
39
35
|
readonly columnName: string;
|
|
40
36
|
readonly column: StorageColumn;
|
|
41
37
|
readonly codecHooks: Map<string, CodecControlHooks>;
|
|
42
|
-
readonly storageTypes: Record<string, StorageTypeInstance
|
|
38
|
+
readonly storageTypes: Record<string, StorageTypeInstance>;
|
|
43
39
|
readonly temporaryDefault: string;
|
|
44
40
|
}): SqlMigrationPlanOperation<PostgresPlanTargetDetails> {
|
|
45
41
|
const { schema, tableName, columnName, column, codecHooks, storageTypes, temporaryDefault } =
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
import type { CodecControlHooks } from '@prisma-next/family-sql/control';
|
|
2
|
-
import type {
|
|
3
|
-
PostgresEnumStorageEntry,
|
|
4
|
-
StorageColumn,
|
|
5
|
-
StorageTypeInstance,
|
|
6
|
-
} from '@prisma-next/sql-contract/types';
|
|
2
|
+
import type { StorageColumn, StorageTypeInstance } from '@prisma-next/sql-contract/types';
|
|
7
3
|
import { postgresCreateNamespace } from '../postgres-schema';
|
|
8
4
|
import { escapeLiteral, quoteIdentifier } from '../sql-utils';
|
|
9
5
|
import { resolveColumnTypeMetadata } from './planner-type-resolution';
|
|
@@ -249,7 +245,7 @@ function formatUserDefinedTypeName(identifier: string): string {
|
|
|
249
245
|
export function buildExpectedFormatType(
|
|
250
246
|
column: StorageColumn,
|
|
251
247
|
codecHooks: Map<string, CodecControlHooks>,
|
|
252
|
-
storageTypes: Record<string, StorageTypeInstance
|
|
248
|
+
storageTypes: Record<string, StorageTypeInstance> = {},
|
|
253
249
|
): string {
|
|
254
250
|
const resolved = resolveColumnTypeMetadata(column, storageTypes);
|
|
255
251
|
|