@prisma-next/family-sql 0.3.0-dev.7 → 0.3.0-dev.70
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/LICENSE +201 -0
- package/README.md +15 -6
- package/dist/assembly-BVS641kd.mjs +106 -0
- package/dist/assembly-BVS641kd.mjs.map +1 -0
- package/dist/control-adapter.d.mts +60 -0
- package/dist/control-adapter.d.mts.map +1 -0
- package/dist/control-adapter.mjs +1 -0
- package/dist/control-instance-62RsSxEp.d.mts +291 -0
- package/dist/control-instance-62RsSxEp.d.mts.map +1 -0
- package/dist/control.d.mts +106 -0
- package/dist/control.d.mts.map +1 -0
- package/dist/control.mjs +640 -0
- package/dist/control.mjs.map +1 -0
- package/dist/runtime.d.mts +27 -0
- package/dist/runtime.d.mts.map +1 -0
- package/dist/runtime.mjs +38 -0
- package/dist/runtime.mjs.map +1 -0
- package/dist/schema-verify.d.mts +48 -0
- package/dist/schema-verify.d.mts.map +1 -0
- package/dist/schema-verify.mjs +4 -0
- package/dist/test-utils.d.mts +2 -0
- package/dist/test-utils.mjs +3 -0
- package/dist/verify-BfMETJcM.mjs +108 -0
- package/dist/verify-BfMETJcM.mjs.map +1 -0
- package/dist/verify-sql-schema-CpAVEi8A.mjs +1058 -0
- package/dist/verify-sql-schema-CpAVEi8A.mjs.map +1 -0
- package/dist/verify-sql-schema-DhHnkpPa.d.mts +67 -0
- package/dist/verify-sql-schema-DhHnkpPa.d.mts.map +1 -0
- package/dist/verify.d.mts +31 -0
- package/dist/verify.d.mts.map +1 -0
- package/dist/verify.mjs +3 -0
- package/package.json +36 -47
- package/src/core/assembly.ts +158 -59
- package/src/core/control-adapter.ts +15 -0
- package/src/core/control-descriptor.ts +37 -0
- package/src/core/{instance.ts → control-instance.ts} +108 -241
- package/src/core/migrations/contract-to-schema-ir.ts +181 -0
- package/src/core/migrations/types.ts +63 -165
- package/src/core/runtime-descriptor.ts +19 -41
- package/src/core/runtime-instance.ts +11 -133
- package/src/core/schema-verify/verify-helpers.ts +187 -97
- package/src/core/schema-verify/verify-sql-schema.ts +910 -392
- package/src/core/verify.ts +4 -13
- package/src/exports/control.ts +15 -6
- package/src/exports/runtime.ts +2 -6
- package/src/exports/schema-verify.ts +10 -2
- package/src/exports/test-utils.ts +0 -1
- package/dist/chunk-6K3RPBDP.js +0 -580
- package/dist/chunk-6K3RPBDP.js.map +0 -1
- package/dist/chunk-BHEGVBY7.js +0 -772
- package/dist/chunk-BHEGVBY7.js.map +0 -1
- package/dist/chunk-SU7LN2UH.js +0 -96
- package/dist/chunk-SU7LN2UH.js.map +0 -1
- package/dist/core/assembly.d.ts +0 -25
- package/dist/core/assembly.d.ts.map +0 -1
- package/dist/core/control-adapter.d.ts +0 -42
- package/dist/core/control-adapter.d.ts.map +0 -1
- package/dist/core/descriptor.d.ts +0 -31
- package/dist/core/descriptor.d.ts.map +0 -1
- package/dist/core/instance.d.ts +0 -142
- package/dist/core/instance.d.ts.map +0 -1
- package/dist/core/migrations/plan-helpers.d.ts +0 -20
- package/dist/core/migrations/plan-helpers.d.ts.map +0 -1
- package/dist/core/migrations/policies.d.ts +0 -6
- package/dist/core/migrations/policies.d.ts.map +0 -1
- package/dist/core/migrations/types.d.ts +0 -280
- package/dist/core/migrations/types.d.ts.map +0 -1
- package/dist/core/runtime-descriptor.d.ts +0 -19
- package/dist/core/runtime-descriptor.d.ts.map +0 -1
- package/dist/core/runtime-instance.d.ts +0 -54
- package/dist/core/runtime-instance.d.ts.map +0 -1
- package/dist/core/schema-verify/verify-helpers.d.ts +0 -50
- package/dist/core/schema-verify/verify-helpers.d.ts.map +0 -1
- package/dist/core/schema-verify/verify-sql-schema.d.ts +0 -45
- package/dist/core/schema-verify/verify-sql-schema.d.ts.map +0 -1
- package/dist/core/verify.d.ts +0 -39
- package/dist/core/verify.d.ts.map +0 -1
- package/dist/exports/control-adapter.d.ts +0 -2
- package/dist/exports/control-adapter.d.ts.map +0 -1
- package/dist/exports/control-adapter.js +0 -1
- package/dist/exports/control-adapter.js.map +0 -1
- package/dist/exports/control.d.ts +0 -13
- package/dist/exports/control.d.ts.map +0 -1
- package/dist/exports/control.js +0 -149
- package/dist/exports/control.js.map +0 -1
- package/dist/exports/runtime.d.ts +0 -8
- package/dist/exports/runtime.d.ts.map +0 -1
- package/dist/exports/runtime.js +0 -64
- package/dist/exports/runtime.js.map +0 -1
- package/dist/exports/schema-verify.d.ts +0 -11
- package/dist/exports/schema-verify.d.ts.map +0 -1
- package/dist/exports/schema-verify.js +0 -11
- package/dist/exports/schema-verify.js.map +0 -1
- package/dist/exports/test-utils.d.ts +0 -7
- package/dist/exports/test-utils.d.ts.map +0 -1
- package/dist/exports/test-utils.js +0 -17
- package/dist/exports/test-utils.js.map +0 -1
- package/dist/exports/verify.d.ts +0 -2
- package/dist/exports/verify.d.ts.map +0 -1
- package/dist/exports/verify.js +0 -11
- package/dist/exports/verify.js.map +0 -1
- package/src/core/descriptor.ts +0 -37
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
import { TargetBoundComponentDescriptor, TypeRenderer } from "@prisma-next/contract/framework-components";
|
|
2
|
+
import { OperationRegistry } from "@prisma-next/operations";
|
|
3
|
+
import { TypesImportSpec } from "@prisma-next/contract/types";
|
|
4
|
+
import { Result } from "@prisma-next/utils/result";
|
|
5
|
+
import { ControlAdapterDescriptor, ControlDriverInstance, ControlExtensionDescriptor, ControlFamilyInstance, ControlTargetDescriptor, ControlTargetInstance, EmitContractResult, MigrationOperationPolicy, MigrationPlan, MigrationPlanOperation, MigrationPlannerConflict, MigrationPlannerFailureResult, MigrationPlannerSuccessResult, MigrationRunnerExecutionChecks, MigrationRunnerFailure, MigrationRunnerSuccessValue, OperationContext, SchemaIssue, SignDatabaseResult, VerifyDatabaseResult, VerifyDatabaseSchemaResult } from "@prisma-next/core-control-plane/types";
|
|
6
|
+
import { SqlSchemaIR } from "@prisma-next/sql-schema-ir/types";
|
|
7
|
+
import { SqlContract, SqlStorage, StorageTypeInstance } from "@prisma-next/sql-contract/types";
|
|
8
|
+
import { ContractIR } from "@prisma-next/contract/ir";
|
|
9
|
+
import { CoreSchemaView } from "@prisma-next/core-control-plane/schema-view";
|
|
10
|
+
import { SqlOperationSignature } from "@prisma-next/sql-operations";
|
|
11
|
+
|
|
12
|
+
//#region src/core/migrations/types.d.ts
|
|
13
|
+
type AnyRecord = Readonly<Record<string, unknown>>;
|
|
14
|
+
interface SqlControlStaticContributions {
|
|
15
|
+
readonly operationSignatures: () => ReadonlyArray<SqlOperationSignature>;
|
|
16
|
+
}
|
|
17
|
+
interface ComponentDatabaseDependency<TTargetDetails> {
|
|
18
|
+
readonly id: string;
|
|
19
|
+
readonly label: string;
|
|
20
|
+
readonly install: readonly SqlMigrationPlanOperation<TTargetDetails>[];
|
|
21
|
+
readonly verifyDatabaseDependencyInstalled: (schema: SqlSchemaIR) => readonly SchemaIssue[];
|
|
22
|
+
}
|
|
23
|
+
interface ComponentDatabaseDependencies<TTargetDetails> {
|
|
24
|
+
readonly init?: readonly ComponentDatabaseDependency<TTargetDetails>[];
|
|
25
|
+
}
|
|
26
|
+
interface StorageTypePlanResult<TTargetDetails> {
|
|
27
|
+
readonly operations: readonly SqlMigrationPlanOperation<TTargetDetails>[];
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Input for expanding parameterized native types.
|
|
31
|
+
*/
|
|
32
|
+
interface ExpandNativeTypeInput {
|
|
33
|
+
readonly nativeType: string;
|
|
34
|
+
readonly codecId?: string;
|
|
35
|
+
readonly typeParams?: Record<string, unknown>;
|
|
36
|
+
}
|
|
37
|
+
interface CodecControlHooks<TTargetDetails = unknown> {
|
|
38
|
+
planTypeOperations?: (options: {
|
|
39
|
+
readonly typeName: string;
|
|
40
|
+
readonly typeInstance: StorageTypeInstance;
|
|
41
|
+
readonly contract: SqlContract<SqlStorage>;
|
|
42
|
+
readonly schema: SqlSchemaIR;
|
|
43
|
+
readonly schemaName?: string;
|
|
44
|
+
readonly policy: MigrationOperationPolicy;
|
|
45
|
+
}) => StorageTypePlanResult<TTargetDetails>;
|
|
46
|
+
verifyType?: (options: {
|
|
47
|
+
readonly typeName: string;
|
|
48
|
+
readonly typeInstance: StorageTypeInstance;
|
|
49
|
+
readonly schema: SqlSchemaIR;
|
|
50
|
+
readonly schemaName?: string;
|
|
51
|
+
}) => readonly SchemaIssue[];
|
|
52
|
+
introspectTypes?: (options: {
|
|
53
|
+
readonly driver: ControlDriverInstance<'sql', string>;
|
|
54
|
+
readonly schemaName?: string;
|
|
55
|
+
}) => Promise<Record<string, StorageTypeInstance>>;
|
|
56
|
+
/**
|
|
57
|
+
* Expands a parameterized native type to its full SQL representation.
|
|
58
|
+
* Used by schema verification to compare contract types against database types.
|
|
59
|
+
*
|
|
60
|
+
* For example, expands:
|
|
61
|
+
* - { nativeType: 'character varying', typeParams: { length: 255 } } -> 'character varying(255)'
|
|
62
|
+
* - { nativeType: 'numeric', typeParams: { precision: 10, scale: 2 } } -> 'numeric(10,2)'
|
|
63
|
+
*
|
|
64
|
+
* Returns the expanded type string, or the original nativeType if no expansion is needed.
|
|
65
|
+
*/
|
|
66
|
+
expandNativeType?: (input: ExpandNativeTypeInput) => string;
|
|
67
|
+
}
|
|
68
|
+
interface SqlControlExtensionDescriptor<TTargetId extends string> extends ControlExtensionDescriptor<'sql', TTargetId>, SqlControlStaticContributions {
|
|
69
|
+
readonly databaseDependencies?: ComponentDatabaseDependencies<unknown>;
|
|
70
|
+
}
|
|
71
|
+
interface SqlControlAdapterDescriptor<TTargetId extends string> extends ControlAdapterDescriptor<'sql', TTargetId>, SqlControlStaticContributions {}
|
|
72
|
+
interface SqlMigrationPlanOperationStep {
|
|
73
|
+
readonly description: string;
|
|
74
|
+
readonly sql: string;
|
|
75
|
+
readonly meta?: AnyRecord;
|
|
76
|
+
}
|
|
77
|
+
interface SqlMigrationPlanOperationTarget<TTargetDetails> {
|
|
78
|
+
readonly id: string;
|
|
79
|
+
readonly details?: TTargetDetails;
|
|
80
|
+
}
|
|
81
|
+
interface SqlMigrationPlanOperation<TTargetDetails> extends MigrationPlanOperation {
|
|
82
|
+
readonly summary?: string;
|
|
83
|
+
readonly target: SqlMigrationPlanOperationTarget<TTargetDetails>;
|
|
84
|
+
readonly precheck: readonly SqlMigrationPlanOperationStep[];
|
|
85
|
+
readonly execute: readonly SqlMigrationPlanOperationStep[];
|
|
86
|
+
readonly postcheck: readonly SqlMigrationPlanOperationStep[];
|
|
87
|
+
readonly meta?: AnyRecord;
|
|
88
|
+
}
|
|
89
|
+
interface SqlMigrationPlanContractInfo {
|
|
90
|
+
readonly storageHash: string;
|
|
91
|
+
readonly profileHash?: string;
|
|
92
|
+
}
|
|
93
|
+
interface SqlMigrationPlan<TTargetDetails> extends MigrationPlan {
|
|
94
|
+
/**
|
|
95
|
+
* Origin contract identity that the plan expects the database to currently be at.
|
|
96
|
+
* If omitted or null, the runner skips origin validation entirely.
|
|
97
|
+
*/
|
|
98
|
+
readonly origin?: SqlMigrationPlanContractInfo | null;
|
|
99
|
+
/**
|
|
100
|
+
* Destination contract identity that the plan intends to reach.
|
|
101
|
+
*/
|
|
102
|
+
readonly destination: SqlMigrationPlanContractInfo;
|
|
103
|
+
readonly operations: readonly SqlMigrationPlanOperation<TTargetDetails>[];
|
|
104
|
+
readonly meta?: AnyRecord;
|
|
105
|
+
}
|
|
106
|
+
type SqlPlannerConflictKind = 'typeMismatch' | 'nullabilityConflict' | 'indexIncompatible' | 'foreignKeyConflict' | 'missingButNonAdditive' | 'unsupportedExtension' | 'extensionMissing' | 'unsupportedOperation';
|
|
107
|
+
interface SqlPlannerConflictLocation {
|
|
108
|
+
readonly table?: string;
|
|
109
|
+
readonly column?: string;
|
|
110
|
+
readonly index?: string;
|
|
111
|
+
readonly constraint?: string;
|
|
112
|
+
readonly extension?: string;
|
|
113
|
+
readonly type?: string;
|
|
114
|
+
}
|
|
115
|
+
interface SqlPlannerConflict extends MigrationPlannerConflict {
|
|
116
|
+
readonly kind: SqlPlannerConflictKind;
|
|
117
|
+
readonly location?: SqlPlannerConflictLocation;
|
|
118
|
+
readonly meta?: AnyRecord;
|
|
119
|
+
}
|
|
120
|
+
interface SqlPlannerSuccessResult<TTargetDetails> extends Omit<MigrationPlannerSuccessResult, 'plan'> {
|
|
121
|
+
readonly kind: 'success';
|
|
122
|
+
readonly plan: SqlMigrationPlan<TTargetDetails>;
|
|
123
|
+
}
|
|
124
|
+
interface SqlPlannerFailureResult extends Omit<MigrationPlannerFailureResult, 'conflicts'> {
|
|
125
|
+
readonly kind: 'failure';
|
|
126
|
+
readonly conflicts: readonly SqlPlannerConflict[];
|
|
127
|
+
}
|
|
128
|
+
type SqlPlannerResult<TTargetDetails> = SqlPlannerSuccessResult<TTargetDetails> | SqlPlannerFailureResult;
|
|
129
|
+
interface SqlMigrationPlannerPlanOptions {
|
|
130
|
+
readonly contract: SqlContract<SqlStorage>;
|
|
131
|
+
readonly schema: SqlSchemaIR;
|
|
132
|
+
readonly policy: MigrationOperationPolicy;
|
|
133
|
+
readonly schemaName?: string;
|
|
134
|
+
/**
|
|
135
|
+
* Active framework components participating in this composition.
|
|
136
|
+
* SQL targets can interpret this list to derive database dependencies.
|
|
137
|
+
* All components must have matching familyId ('sql') and targetId.
|
|
138
|
+
*/
|
|
139
|
+
readonly frameworkComponents: ReadonlyArray<TargetBoundComponentDescriptor<'sql', string>>;
|
|
140
|
+
}
|
|
141
|
+
interface SqlMigrationPlanner<TTargetDetails> {
|
|
142
|
+
plan(options: SqlMigrationPlannerPlanOptions): SqlPlannerResult<TTargetDetails>;
|
|
143
|
+
}
|
|
144
|
+
interface SqlMigrationRunnerExecuteCallbacks<TTargetDetails> {
|
|
145
|
+
onOperationStart?(operation: SqlMigrationPlanOperation<TTargetDetails>): void;
|
|
146
|
+
onOperationComplete?(operation: SqlMigrationPlanOperation<TTargetDetails>): void;
|
|
147
|
+
}
|
|
148
|
+
interface SqlMigrationRunnerExecuteOptions<TTargetDetails> {
|
|
149
|
+
readonly plan: SqlMigrationPlan<TTargetDetails>;
|
|
150
|
+
readonly driver: ControlDriverInstance<'sql', string>;
|
|
151
|
+
/**
|
|
152
|
+
* Destination contract IR.
|
|
153
|
+
* Must correspond to `plan.destination` and is used for schema verification and marker/ledger writes.
|
|
154
|
+
*/
|
|
155
|
+
readonly destinationContract: SqlContract<SqlStorage>;
|
|
156
|
+
/**
|
|
157
|
+
* Execution-time policy that defines which operation classes are allowed.
|
|
158
|
+
* The runner validates each operation against this policy before execution.
|
|
159
|
+
*/
|
|
160
|
+
readonly policy: MigrationOperationPolicy;
|
|
161
|
+
readonly schemaName?: string;
|
|
162
|
+
readonly strictVerification?: boolean;
|
|
163
|
+
readonly callbacks?: SqlMigrationRunnerExecuteCallbacks<TTargetDetails>;
|
|
164
|
+
readonly context?: OperationContext;
|
|
165
|
+
/**
|
|
166
|
+
* Execution-time checks configuration.
|
|
167
|
+
* All checks default to `true` (enabled) when omitted.
|
|
168
|
+
*/
|
|
169
|
+
readonly executionChecks?: MigrationRunnerExecutionChecks;
|
|
170
|
+
/**
|
|
171
|
+
* Active framework components participating in this composition.
|
|
172
|
+
* SQL targets can interpret this list to derive database dependencies.
|
|
173
|
+
* All components must have matching familyId ('sql') and targetId.
|
|
174
|
+
*/
|
|
175
|
+
readonly frameworkComponents: ReadonlyArray<TargetBoundComponentDescriptor<'sql', string>>;
|
|
176
|
+
}
|
|
177
|
+
type SqlMigrationRunnerErrorCode = 'DESTINATION_CONTRACT_MISMATCH' | 'MARKER_ORIGIN_MISMATCH' | 'POLICY_VIOLATION' | 'PRECHECK_FAILED' | 'POSTCHECK_FAILED' | 'SCHEMA_VERIFY_FAILED' | 'EXECUTION_FAILED';
|
|
178
|
+
interface SqlMigrationRunnerFailure extends MigrationRunnerFailure {
|
|
179
|
+
readonly code: SqlMigrationRunnerErrorCode;
|
|
180
|
+
readonly meta?: AnyRecord;
|
|
181
|
+
}
|
|
182
|
+
interface SqlMigrationRunnerSuccessValue extends MigrationRunnerSuccessValue {}
|
|
183
|
+
type SqlMigrationRunnerResult = Result<SqlMigrationRunnerSuccessValue, SqlMigrationRunnerFailure>;
|
|
184
|
+
interface SqlMigrationRunner<TTargetDetails> {
|
|
185
|
+
execute(options: SqlMigrationRunnerExecuteOptions<TTargetDetails>): Promise<SqlMigrationRunnerResult>;
|
|
186
|
+
}
|
|
187
|
+
interface SqlControlTargetDescriptor<TTargetId extends string, TTargetDetails> extends ControlTargetDescriptor<'sql', TTargetId, ControlTargetInstance<'sql', TTargetId>, SqlControlFamilyInstance>, SqlControlStaticContributions {
|
|
188
|
+
createPlanner(family: SqlControlFamilyInstance): SqlMigrationPlanner<TTargetDetails>;
|
|
189
|
+
createRunner(family: SqlControlFamilyInstance): SqlMigrationRunner<TTargetDetails>;
|
|
190
|
+
}
|
|
191
|
+
interface CreateSqlMigrationPlanOptions<TTargetDetails> {
|
|
192
|
+
readonly targetId: string;
|
|
193
|
+
readonly origin?: SqlMigrationPlanContractInfo | null;
|
|
194
|
+
readonly destination: SqlMigrationPlanContractInfo;
|
|
195
|
+
readonly operations: readonly SqlMigrationPlanOperation<TTargetDetails>[];
|
|
196
|
+
readonly meta?: AnyRecord;
|
|
197
|
+
}
|
|
198
|
+
//#endregion
|
|
199
|
+
//#region src/core/assembly.d.ts
|
|
200
|
+
interface SqlControlDescriptorWithContributions extends SqlControlStaticContributions {
|
|
201
|
+
readonly id: string;
|
|
202
|
+
readonly types?: {
|
|
203
|
+
readonly codecTypes?: {
|
|
204
|
+
readonly import?: TypesImportSpec;
|
|
205
|
+
readonly parameterized?: Record<string, TypeRenderer>;
|
|
206
|
+
readonly typeImports?: ReadonlyArray<TypesImportSpec>;
|
|
207
|
+
};
|
|
208
|
+
readonly operationTypes?: {
|
|
209
|
+
readonly import: TypesImportSpec;
|
|
210
|
+
};
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
declare function assembleOperationRegistry(descriptors: ReadonlyArray<SqlControlDescriptorWithContributions>): OperationRegistry;
|
|
214
|
+
interface DescriptorWithTypes {
|
|
215
|
+
readonly id: string;
|
|
216
|
+
readonly types?: {
|
|
217
|
+
readonly codecTypes?: {
|
|
218
|
+
readonly import?: TypesImportSpec;
|
|
219
|
+
readonly parameterized?: Record<string, TypeRenderer>;
|
|
220
|
+
readonly typeImports?: ReadonlyArray<TypesImportSpec>;
|
|
221
|
+
};
|
|
222
|
+
readonly operationTypes?: {
|
|
223
|
+
readonly import: TypesImportSpec;
|
|
224
|
+
};
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
declare function extractCodecTypeImports(descriptors: ReadonlyArray<DescriptorWithTypes>): ReadonlyArray<TypesImportSpec>;
|
|
228
|
+
declare function extractOperationTypeImports(descriptors: ReadonlyArray<DescriptorWithTypes>): ReadonlyArray<TypesImportSpec>;
|
|
229
|
+
declare function extractExtensionIds(adapter: {
|
|
230
|
+
readonly id: string;
|
|
231
|
+
}, target: {
|
|
232
|
+
readonly id: string;
|
|
233
|
+
}, extensions: ReadonlyArray<{
|
|
234
|
+
readonly id: string;
|
|
235
|
+
}>): ReadonlyArray<string>;
|
|
236
|
+
declare function extractCodecControlHooks(descriptors: ReadonlyArray<TargetBoundComponentDescriptor<'sql', string>>): Map<string, CodecControlHooks>;
|
|
237
|
+
//#endregion
|
|
238
|
+
//#region src/core/control-instance.d.ts
|
|
239
|
+
interface SqlTypeMetadata {
|
|
240
|
+
readonly typeId: string;
|
|
241
|
+
readonly familyId: 'sql';
|
|
242
|
+
readonly targetId: string;
|
|
243
|
+
readonly nativeType?: string;
|
|
244
|
+
}
|
|
245
|
+
type SqlTypeMetadataRegistry = Map<string, SqlTypeMetadata>;
|
|
246
|
+
interface SqlFamilyInstanceState {
|
|
247
|
+
readonly operationRegistry: OperationRegistry;
|
|
248
|
+
readonly codecTypeImports: ReadonlyArray<TypesImportSpec>;
|
|
249
|
+
readonly operationTypeImports: ReadonlyArray<TypesImportSpec>;
|
|
250
|
+
readonly extensionIds: ReadonlyArray<string>;
|
|
251
|
+
readonly typeMetadataRegistry: SqlTypeMetadataRegistry;
|
|
252
|
+
}
|
|
253
|
+
interface SchemaVerifyOptions {
|
|
254
|
+
readonly driver: ControlDriverInstance<'sql', string>;
|
|
255
|
+
readonly contractIR: unknown;
|
|
256
|
+
readonly strict: boolean;
|
|
257
|
+
readonly context?: OperationContext;
|
|
258
|
+
/**
|
|
259
|
+
* Active framework components participating in this composition.
|
|
260
|
+
* All components must have matching familyId ('sql') and targetId.
|
|
261
|
+
*/
|
|
262
|
+
readonly frameworkComponents: ReadonlyArray<TargetBoundComponentDescriptor<'sql', string>>;
|
|
263
|
+
}
|
|
264
|
+
interface SqlControlFamilyInstance extends ControlFamilyInstance<'sql'>, SqlFamilyInstanceState {
|
|
265
|
+
validateContractIR(contractJson: unknown): ContractIR;
|
|
266
|
+
verify(options: {
|
|
267
|
+
readonly driver: ControlDriverInstance<'sql', string>;
|
|
268
|
+
readonly contractIR: unknown;
|
|
269
|
+
readonly expectedTargetId: string;
|
|
270
|
+
readonly contractPath: string;
|
|
271
|
+
readonly configPath?: string;
|
|
272
|
+
}): Promise<VerifyDatabaseResult>;
|
|
273
|
+
schemaVerify(options: SchemaVerifyOptions): Promise<VerifyDatabaseSchemaResult>;
|
|
274
|
+
sign(options: {
|
|
275
|
+
readonly driver: ControlDriverInstance<'sql', string>;
|
|
276
|
+
readonly contractIR: unknown;
|
|
277
|
+
readonly contractPath: string;
|
|
278
|
+
readonly configPath?: string;
|
|
279
|
+
}): Promise<SignDatabaseResult>;
|
|
280
|
+
introspect(options: {
|
|
281
|
+
readonly driver: ControlDriverInstance<'sql', string>;
|
|
282
|
+
readonly contractIR?: unknown;
|
|
283
|
+
}): Promise<SqlSchemaIR>;
|
|
284
|
+
toSchemaView(schema: SqlSchemaIR): CoreSchemaView;
|
|
285
|
+
emitContract(options: {
|
|
286
|
+
readonly contractIR: ContractIR | unknown;
|
|
287
|
+
}): Promise<EmitContractResult>;
|
|
288
|
+
}
|
|
289
|
+
//#endregion
|
|
290
|
+
export { SqlMigrationRunnerFailure as A, SqlMigrationPlanOperationTarget as C, SqlMigrationRunnerErrorCode as D, SqlMigrationRunner as E, SqlPlannerConflictLocation as F, SqlPlannerFailureResult as I, SqlPlannerResult as L, SqlMigrationRunnerSuccessValue as M, SqlPlannerConflict as N, SqlMigrationRunnerExecuteCallbacks as O, SqlPlannerConflictKind as P, SqlPlannerSuccessResult as R, SqlMigrationPlanOperationStep as S, SqlMigrationPlannerPlanOptions as T, SqlControlStaticContributions as _, extractCodecControlHooks as a, SqlMigrationPlanContractInfo as b, extractOperationTypeImports as c, ComponentDatabaseDependencies as d, ComponentDatabaseDependency as f, SqlControlExtensionDescriptor as g, SqlControlAdapterDescriptor as h, assembleOperationRegistry as i, SqlMigrationRunnerResult as j, SqlMigrationRunnerExecuteOptions as k, AnyRecord as l, ExpandNativeTypeInput as m, SqlControlFamilyInstance as n, extractCodecTypeImports as o, CreateSqlMigrationPlanOptions as p, SqlControlDescriptorWithContributions as r, extractExtensionIds as s, SchemaVerifyOptions as t, CodecControlHooks as u, SqlControlTargetDescriptor as v, SqlMigrationPlanner as w, SqlMigrationPlanOperation as x, SqlMigrationPlan as y, StorageTypePlanResult as z };
|
|
291
|
+
//# sourceMappingURL=control-instance-62RsSxEp.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"control-instance-62RsSxEp.d.mts","names":[],"sources":["../src/core/migrations/types.ts","../src/core/assembly.ts","../src/core/control-instance.ts"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { A as SqlMigrationRunnerFailure, C as SqlMigrationPlanOperationTarget, D as SqlMigrationRunnerErrorCode, E as SqlMigrationRunner, F as SqlPlannerConflictLocation, I as SqlPlannerFailureResult, L as SqlPlannerResult, M as SqlMigrationRunnerSuccessValue, N as SqlPlannerConflict, O as SqlMigrationRunnerExecuteCallbacks, P as SqlPlannerConflictKind, R as SqlPlannerSuccessResult, S as SqlMigrationPlanOperationStep, T as SqlMigrationPlannerPlanOptions, _ as SqlControlStaticContributions, a as extractCodecControlHooks, b as SqlMigrationPlanContractInfo, d as ComponentDatabaseDependencies, f as ComponentDatabaseDependency, g as SqlControlExtensionDescriptor, h as SqlControlAdapterDescriptor, j as SqlMigrationRunnerResult, k as SqlMigrationRunnerExecuteOptions, l as AnyRecord, m as ExpandNativeTypeInput, n as SqlControlFamilyInstance, p as CreateSqlMigrationPlanOptions, r as SqlControlDescriptorWithContributions, t as SchemaVerifyOptions, u as CodecControlHooks, v as SqlControlTargetDescriptor, w as SqlMigrationPlanner, x as SqlMigrationPlanOperation, y as SqlMigrationPlan, z as StorageTypePlanResult } from "./control-instance-62RsSxEp.mjs";
|
|
2
|
+
import * as _prisma_next_contract_types0 from "@prisma-next/contract/types";
|
|
3
|
+
import { NotOk, Ok } from "@prisma-next/utils/result";
|
|
4
|
+
import { ControlFamilyDescriptor, ControlPlaneStack, MigrationOperationClass, MigrationOperationPolicy, MigrationOperationPolicy as MigrationOperationPolicy$1, MigrationPlan, MigrationPlanOperation, MigrationPlanner, MigrationPlannerConflict, MigrationPlannerConflict as MigrationPlannerConflict$1, MigrationPlannerResult, TargetMigrationsCapability } from "@prisma-next/core-control-plane/types";
|
|
5
|
+
import { SqlSchemaIR } from "@prisma-next/sql-schema-ir/types";
|
|
6
|
+
import * as _prisma_next_sql_contract_types0 from "@prisma-next/sql-contract/types";
|
|
7
|
+
import { SqlStorage } from "@prisma-next/sql-contract/types";
|
|
8
|
+
import * as _prisma_next_contract_ir0 from "@prisma-next/contract/ir";
|
|
9
|
+
|
|
10
|
+
//#region src/core/control-descriptor.d.ts
|
|
11
|
+
declare class SqlFamilyDescriptor implements ControlFamilyDescriptor<'sql', SqlControlFamilyInstance> {
|
|
12
|
+
readonly kind: "family";
|
|
13
|
+
readonly id = "sql";
|
|
14
|
+
readonly familyId: "sql";
|
|
15
|
+
readonly version = "0.0.1";
|
|
16
|
+
readonly hook: {
|
|
17
|
+
readonly id: "sql";
|
|
18
|
+
readonly validateTypes: (ir: _prisma_next_contract_ir0.ContractIR, _ctx: _prisma_next_contract_types0.ValidationContext) => void;
|
|
19
|
+
readonly validateStructure: (ir: _prisma_next_contract_ir0.ContractIR) => void;
|
|
20
|
+
readonly generateContractTypes: (ir: _prisma_next_contract_ir0.ContractIR, codecTypeImports: ReadonlyArray<_prisma_next_contract_types0.TypesImportSpec>, operationTypeImports: ReadonlyArray<_prisma_next_contract_types0.TypesImportSpec>, hashes: {
|
|
21
|
+
readonly storageHash: string;
|
|
22
|
+
readonly executionHash?: string;
|
|
23
|
+
readonly profileHash: string;
|
|
24
|
+
}, options?: _prisma_next_contract_types0.GenerateContractTypesOptions) => string;
|
|
25
|
+
readonly generateStorageType: (storage: _prisma_next_sql_contract_types0.SqlStorage) => string;
|
|
26
|
+
readonly generateStorageTypesType: (types: _prisma_next_sql_contract_types0.SqlStorage["types"]) => string;
|
|
27
|
+
readonly serializeTypeParamsLiteral: (params: Record<string, unknown>) => string;
|
|
28
|
+
readonly serializeValue: (value: unknown) => string;
|
|
29
|
+
readonly generateModelsType: (models: Record<string, _prisma_next_sql_contract_types0.ModelDefinition> | undefined, storage: _prisma_next_sql_contract_types0.SqlStorage, parameterizedRenderers?: Map<string, _prisma_next_contract_types0.TypeRenderEntry>) => string;
|
|
30
|
+
readonly generateColumnType: (column: _prisma_next_sql_contract_types0.StorageColumn, storage: _prisma_next_sql_contract_types0.SqlStorage, parameterizedRenderers: Map<string, _prisma_next_contract_types0.TypeRenderEntry> | undefined, renderCtx: _prisma_next_contract_types0.TypeRenderContext) => string;
|
|
31
|
+
readonly generateRelationsType: (relations: Record<string, unknown> | undefined) => string;
|
|
32
|
+
readonly generateMappingsType: (models: Record<string, _prisma_next_sql_contract_types0.ModelDefinition> | undefined, storage: _prisma_next_sql_contract_types0.SqlStorage, codecTypes: string, operationTypes: string) => string;
|
|
33
|
+
};
|
|
34
|
+
create<TTargetId extends string>(stack: ControlPlaneStack<'sql', TTargetId>): SqlControlFamilyInstance;
|
|
35
|
+
}
|
|
36
|
+
//#endregion
|
|
37
|
+
//#region src/core/migrations/contract-to-schema-ir.d.ts
|
|
38
|
+
/**
|
|
39
|
+
* Target-specific callback that expands a column's base `nativeType` and optional
|
|
40
|
+
* `typeParams` into the fully-qualified type string used by the database
|
|
41
|
+
* (e.g. `character` + `{ length: 36 }` → `character(36)`).
|
|
42
|
+
*
|
|
43
|
+
* This lives in the family layer as a callback rather than importing a concrete
|
|
44
|
+
* implementation because each target (Postgres, MySQL, SQLite, …) has its own
|
|
45
|
+
* parameterization syntax. The target wires its expander when calling
|
|
46
|
+
* `contractToSchemaIR`, keeping the family layer target-agnostic.
|
|
47
|
+
*/
|
|
48
|
+
type NativeTypeExpander = (input: {
|
|
49
|
+
readonly nativeType: string;
|
|
50
|
+
readonly codecId?: string;
|
|
51
|
+
readonly typeParams?: Record<string, unknown>;
|
|
52
|
+
}) => string;
|
|
53
|
+
/**
|
|
54
|
+
* Detects destructive changes between two contract storages.
|
|
55
|
+
*
|
|
56
|
+
* The additive-only planner silently ignores removals (tables, columns).
|
|
57
|
+
* This function detects those removals so callers can report them as conflicts
|
|
58
|
+
* rather than silently producing an empty plan.
|
|
59
|
+
*
|
|
60
|
+
* Returns an empty array if no destructive changes are found.
|
|
61
|
+
*/
|
|
62
|
+
declare function detectDestructiveChanges(from: SqlStorage | null, to: SqlStorage): readonly MigrationPlannerConflict$1[];
|
|
63
|
+
/**
|
|
64
|
+
* Converts a contract's `SqlStorage` to `SqlSchemaIR`.
|
|
65
|
+
*
|
|
66
|
+
* Drops codec metadata (`codecId`, `typeRef`) since the schema IR only represents structural
|
|
67
|
+
* information. When `expandNativeType` is provided, parameterized types are expanded
|
|
68
|
+
* (e.g. `character` + `{ length: 36 }` → `character(36)`) so the resulting IR compares
|
|
69
|
+
* correctly against the "to" contract during planning.
|
|
70
|
+
*
|
|
71
|
+
* `extensions` is always `[]` — the planner resolves extension dependencies from framework
|
|
72
|
+
* components, and an empty array means "nothing installed yet" which is correct for the
|
|
73
|
+
* "from" side of a diff.
|
|
74
|
+
*/
|
|
75
|
+
declare function contractToSchemaIR(storage: SqlStorage, expandNativeType?: NativeTypeExpander): SqlSchemaIR;
|
|
76
|
+
//#endregion
|
|
77
|
+
//#region src/core/migrations/plan-helpers.d.ts
|
|
78
|
+
declare function createMigrationPlan<TTargetDetails>(options: CreateSqlMigrationPlanOptions<TTargetDetails>): SqlMigrationPlan<TTargetDetails>;
|
|
79
|
+
declare function plannerSuccess<TTargetDetails>(plan: SqlMigrationPlan<TTargetDetails>): SqlPlannerSuccessResult<TTargetDetails>;
|
|
80
|
+
declare function plannerFailure(conflicts: readonly SqlPlannerConflict[]): SqlPlannerFailureResult;
|
|
81
|
+
/**
|
|
82
|
+
* Creates a successful migration runner result.
|
|
83
|
+
*/
|
|
84
|
+
declare function runnerSuccess(value: {
|
|
85
|
+
operationsPlanned: number;
|
|
86
|
+
operationsExecuted: number;
|
|
87
|
+
}): Ok<SqlMigrationRunnerSuccessValue>;
|
|
88
|
+
/**
|
|
89
|
+
* Creates a failed migration runner result.
|
|
90
|
+
*/
|
|
91
|
+
declare function runnerFailure(code: SqlMigrationRunnerErrorCode, summary: string, options?: {
|
|
92
|
+
why?: string;
|
|
93
|
+
meta?: AnyRecord;
|
|
94
|
+
}): NotOk<SqlMigrationRunnerFailure>;
|
|
95
|
+
//#endregion
|
|
96
|
+
//#region src/core/migrations/policies.d.ts
|
|
97
|
+
/**
|
|
98
|
+
* Policy used by `db init`: additive-only operations, no widening/destructive steps.
|
|
99
|
+
*/
|
|
100
|
+
declare const INIT_ADDITIVE_POLICY: MigrationOperationPolicy$1;
|
|
101
|
+
//#endregion
|
|
102
|
+
//#region src/exports/control.d.ts
|
|
103
|
+
declare const _default: SqlFamilyDescriptor;
|
|
104
|
+
//#endregion
|
|
105
|
+
export { type CodecControlHooks, type ComponentDatabaseDependencies, type ComponentDatabaseDependency, type CreateSqlMigrationPlanOptions, type ExpandNativeTypeInput, INIT_ADDITIVE_POLICY, type MigrationOperationClass, type MigrationOperationPolicy, type MigrationPlan, type MigrationPlanOperation, type MigrationPlanner, type MigrationPlannerConflict, type MigrationPlannerResult, type NativeTypeExpander, type SchemaVerifyOptions, type SqlControlAdapterDescriptor, type SqlControlDescriptorWithContributions, type SqlControlExtensionDescriptor, type SqlControlFamilyInstance, type SqlControlStaticContributions, type SqlControlTargetDescriptor, type SqlMigrationPlan, type SqlMigrationPlanContractInfo, type SqlMigrationPlanOperation, type SqlMigrationPlanOperationStep, type SqlMigrationPlanOperationTarget, type SqlMigrationPlanner, type SqlMigrationPlannerPlanOptions, type SqlMigrationRunner, type SqlMigrationRunnerErrorCode, type SqlMigrationRunnerExecuteCallbacks, type SqlMigrationRunnerExecuteOptions, type SqlMigrationRunnerFailure, type SqlMigrationRunnerResult, type SqlMigrationRunnerSuccessValue, type SqlPlannerConflict, type SqlPlannerConflictKind, type SqlPlannerConflictLocation, type SqlPlannerFailureResult, type SqlPlannerResult, type SqlPlannerSuccessResult, type StorageTypePlanResult, type TargetMigrationsCapability, contractToSchemaIR, createMigrationPlan, _default as default, detectDestructiveChanges, extractCodecControlHooks, plannerFailure, plannerSuccess, runnerFailure, runnerSuccess };
|
|
106
|
+
//# sourceMappingURL=control.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"control.d.mts","names":[],"sources":["../src/core/control-descriptor.ts","../src/core/migrations/contract-to-schema-ir.ts","../src/core/migrations/plan-helpers.ts","../src/core/migrations/policies.ts","../src/exports/control.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;cAaa,mBAAA,YACA,+BAA+B;;;;;;;iCAAwB,yBAAA,CAAA;IADvD,SAAA,iBACX,EAAA,CAAA,EAAA,sCAAA,EAAA,GAAA,IAAA;IAA0C,SAAA,qBAAA,EAAA,CAAA,EAAA,sCAAA,EAAA,gBAAA,eAAA,8CAAA,EAAA,oBAAA,eAAA,8CAAA,EAAA,MAAA,EAAA;MAAwB,SAAA,WAAA,EAAA,MAAA;;;8CAM5C;4CAAA,gCAAA,CAAA;;;;+BAAA,EAAA,CAAA,MAAA,QAAA,CAAA,MAAA,mDAAA,GAAA,SAAA,EAAA,OAAA,6CAAA,EAAA,sBAAA,CAAA,EAiBuO,GAjBvO,CAAA,MAAA,+BAiBuO,eAAA,CAjBvO,EAAA,GAAA,MAAA;IAAA,SAAA,kBAAA,EAAA,CAAA,MAAA,EAiBuO,gCAAA,CAAA,aAjBvO,EAAA,OAAA,6CAAA,EAAA,sBAAA,KAAA,CAAA,MAAA,+CAAA,GAAA,SAAA,EAAA,SAAA,gDAAA,EAAA,GAAA,MAAA;;;;0CAGb,yBAAyB,aAC/B;;;;;;;;;;;AAXL;;;KC2BY,kBAAA;;;wBAGY;;;;;;;;;;;iBA4ER,wBAAA,CDlF+O,IAAA,ECmFvP,UDnFuP,GAAA,IAAA,EAAA,EAAA,ECoFzP,UDpFyP,CAAA,EAAA,SCqFnP,0BDrFmP,EAAA;;;;;;;;;;;;;AAb1P,iBC+IW,kBAAA,CD/IX,OAAA,ECgJM,UDhJN,EAAA,gBAAA,CAAA,ECiJgB,kBDjJhB,CAAA,ECkJF,WDlJE;;;iBEqEW,6CACL,8BAA8B,kBACtC,iBAAiB;iBAYJ,qCACR,iBAAiB,kBACtB,wBAAwB;iBAOX,cAAA,qBAAmC,uBAAuB;;;;iBAoB1D,aAAA;;EF3HH,kBAAA,EAAA,MACX;CAA0C,CAAA,EE6HxC,EF7HwC,CE6HrC,8BF7HqC,CAAA;;;;iBEyI5B,aAAA,OACR;;SAE2B;IAChC,MAAM;;;;;;cCtJI,sBAAsB;;;AHQnC,cIiDkC,QJjDrB,EIiDqB,mBJhDhC"}
|