@prisma-next/family-sql 0.12.0-dev.40 → 0.12.0-dev.41
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/control.d.mts.map +1 -1
- package/dist/control.mjs +13 -12
- package/dist/control.mjs.map +1 -1
- package/dist/ir.d.mts +2 -2
- package/dist/ir.d.mts.map +1 -1
- package/dist/ir.mjs +1 -1
- package/dist/schema-verify.mjs +1 -1
- package/dist/{sql-contract-serializer-8axtK4lg.mjs → sql-contract-serializer-nNw1yk9P.mjs} +14 -35
- package/dist/sql-contract-serializer-nNw1yk9P.mjs.map +1 -0
- package/dist/verify-sql-schema-Cj3c2t5Z.d.mts.map +1 -1
- package/dist/{verify-sql-schema-fljAiO-C.mjs → verify-sql-schema-DV_d2XCG.mjs} +11 -17
- package/dist/verify-sql-schema-DV_d2XCG.mjs.map +1 -0
- package/package.json +21 -21
- package/src/core/control-instance.ts +2 -2
- package/src/core/ir/sql-contract-serializer-base.ts +42 -57
- package/src/core/migrations/contract-to-schema-ir.ts +12 -8
- package/src/core/migrations/field-event-planner.ts +2 -2
- package/src/core/schema-verify/verify-sql-schema.ts +16 -25
- package/dist/sql-contract-serializer-8axtK4lg.mjs.map +0 -1
- package/dist/verify-sql-schema-fljAiO-C.mjs.map +0 -1
package/dist/control.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control.d.mts","names":[],"sources":["../src/core/control-descriptor.ts","../src/core/assembly.ts","../src/core/migrations/contract-to-schema-ir.ts","../src/core/migrations/control-policy.ts","../src/core/migrations/field-event-planner.ts","../src/core/migrations/plan-helpers.ts","../src/core/migrations/policies.ts","../src/core/timestamp-now-generator.ts","../src/exports/control.ts"],"mappings":";;;;;;;;;;cAUa,mBAAA,YACA,uBAAA,QAA+B,wBAAA;EAAA,SAEjC,IAAA;EAAA,SACA,EAAA;EAAA,SACA,QAAA;EAAA,SACA,OAAA;EAAA,SACA,QAAA,EAAU,WAAA;EAAA,SACV,SAAA;IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKT,MAAA,0BAAA,CACE,KAAA,EAAO,YAAA,QAAoB,SAAA,IAC1B,wBAAA;AAAA;;;iBCHW,wBAAA,CACd,WAAA,EAAa,aAAA,CAAc,8BAAA,mBAC1B,GAAA,SAAY,iBAAA;;;;;;;;;ADdf;;;;
|
|
1
|
+
{"version":3,"file":"control.d.mts","names":[],"sources":["../src/core/control-descriptor.ts","../src/core/assembly.ts","../src/core/migrations/contract-to-schema-ir.ts","../src/core/migrations/control-policy.ts","../src/core/migrations/field-event-planner.ts","../src/core/migrations/plan-helpers.ts","../src/core/migrations/policies.ts","../src/core/timestamp-now-generator.ts","../src/exports/control.ts"],"mappings":"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"}
|
package/dist/control.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as sqlFamilyAuthoringFieldPresets, t as sqlFamilyAuthoringTypes } from "./authoring-type-constructors-F4JpCJl7.mjs";
|
|
2
|
-
import { t as SqlContractSerializer } from "./sql-contract-serializer-
|
|
3
|
-
import { a as extractCodecControlHooks, t as verifySqlSchema } from "./verify-sql-schema-
|
|
2
|
+
import { t as SqlContractSerializer } from "./sql-contract-serializer-nNw1yk9P.mjs";
|
|
3
|
+
import { a as extractCodecControlHooks, t as verifySqlSchema } from "./verify-sql-schema-DV_d2XCG.mjs";
|
|
4
4
|
import { t as collectSupportedCodecTypeIds } from "./verify-Crewz6hG.mjs";
|
|
5
5
|
import { n as temporalAuthoringPresets, r as timestampNowControlDescriptor } from "./timestamp-now-generator-BkjCQIde.mjs";
|
|
6
6
|
import { sqlEmission } from "@prisma-next/sql-contract-emitter";
|
|
@@ -11,6 +11,7 @@ import { defaultIndexName } from "@prisma-next/sql-schema-ir/naming";
|
|
|
11
11
|
import { ifDefined } from "@prisma-next/utils/defined";
|
|
12
12
|
import { UNBOUND_NAMESPACE_ID } from "@prisma-next/framework-components/ir";
|
|
13
13
|
import { StorageTable, isPostgresEnumStorageEntry, isStorageTypeInstance, toStorageTypeInstance } from "@prisma-next/sql-contract/types";
|
|
14
|
+
import { blindCast } from "@prisma-next/utils/casts";
|
|
14
15
|
import { UNSPECIFIED_PSL_NAMESPACE_ID } from "@prisma-next/framework-components/psl-ast";
|
|
15
16
|
import { effectiveControlPolicy } from "@prisma-next/contract/types";
|
|
16
17
|
import { notOk, ok } from "@prisma-next/utils/result";
|
|
@@ -1023,7 +1024,7 @@ function extractCodecTypeIdsFromContract(contract) {
|
|
|
1023
1024
|
if (typeof contract === "object" && contract !== null && "storage" in contract && typeof contract.storage === "object" && contract.storage !== null && "namespaces" in contract.storage && typeof contract.storage.namespaces === "object" && contract.storage.namespaces !== null) {
|
|
1024
1025
|
const namespaces = contract.storage.namespaces;
|
|
1025
1026
|
for (const ns of Object.values(namespaces)) {
|
|
1026
|
-
const tbls = ns.
|
|
1027
|
+
const tbls = ns.entries.table;
|
|
1027
1028
|
if (typeof tbls !== "object" || tbls === null) continue;
|
|
1028
1029
|
for (const table of Object.values(tbls)) if (typeof table === "object" && table !== null && "columns" in table && typeof table.columns === "object" && table.columns !== null) {
|
|
1029
1030
|
const columns = table.columns;
|
|
@@ -1528,10 +1529,10 @@ function detectDestructiveChanges(from, to) {
|
|
|
1528
1529
|
for (const namespaceId of namespaceIds) {
|
|
1529
1530
|
const fromNs = from.namespaces[namespaceId];
|
|
1530
1531
|
const toNs = to.namespaces[namespaceId];
|
|
1531
|
-
const fromTables = fromNs?.
|
|
1532
|
+
const fromTables = fromNs?.entries.table;
|
|
1532
1533
|
if (!fromTables) continue;
|
|
1533
1534
|
for (const tableName of Object.keys(fromTables)) {
|
|
1534
|
-
const toTableRaw = toNs?.
|
|
1535
|
+
const toTableRaw = toNs?.entries.table[tableName];
|
|
1535
1536
|
if (!(toTableRaw instanceof StorageTable)) {
|
|
1536
1537
|
conflicts.push({
|
|
1537
1538
|
kind: "tableRemoved",
|
|
@@ -1571,13 +1572,13 @@ function contractToSchemaIR(contract, options) {
|
|
|
1571
1572
|
const storage = contract.storage;
|
|
1572
1573
|
const allTypes = { ...storage.types ?? {} };
|
|
1573
1574
|
for (const ns of Object.values(storage.namespaces)) {
|
|
1574
|
-
const nsEnums = ns.
|
|
1575
|
-
if (nsEnums) for (const [k, v] of Object.entries(nsEnums)) allTypes[k] = v;
|
|
1575
|
+
const nsEnums = ns.entries["type"];
|
|
1576
|
+
if (nsEnums) for (const [k, v] of Object.entries(nsEnums)) allTypes[k] = blindCast(v);
|
|
1576
1577
|
}
|
|
1577
1578
|
const storageTypes = allTypes;
|
|
1578
1579
|
const tables = {};
|
|
1579
|
-
for (const ns of Object.values(storage.namespaces)) for (const [tableName, tableDefRaw] of Object.entries(ns.
|
|
1580
|
-
if (!(tableDefRaw instanceof StorageTable)) throw new Error(`contractToSchemaIR: expected StorageTable at namespaces.${ns.id}.
|
|
1580
|
+
for (const ns of Object.values(storage.namespaces)) for (const [tableName, tableDefRaw] of Object.entries(ns.entries.table)) {
|
|
1581
|
+
if (!(tableDefRaw instanceof StorageTable)) throw new Error(`contractToSchemaIR: expected StorageTable at namespaces.${ns.id}.entries.table.${tableName}`);
|
|
1581
1582
|
const tableDef = tableDefRaw;
|
|
1582
1583
|
if (tables[tableName] !== void 0) throw new Error(`contractToSchemaIR: duplicate SQL table name "${tableName}" across namespaces (ambiguous for flat SqlSchemaIR.tables).`);
|
|
1583
1584
|
tables[tableName] = convertTable(tableName, tableDef, storageTypes, options.expandNativeType, options.renderDefault);
|
|
@@ -1612,7 +1613,7 @@ function deriveAnnotations(storage, annotationNamespace, resolveEnumStorageKey)
|
|
|
1612
1613
|
if (isStorageTypeInstance(typeInstance)) storageTypes[typeInstance.nativeType] = typeInstance;
|
|
1613
1614
|
}
|
|
1614
1615
|
for (const [namespaceId, ns] of Object.entries(storage.namespaces)) {
|
|
1615
|
-
const nsEnums = ns.
|
|
1616
|
+
const nsEnums = ns.entries["type"];
|
|
1616
1617
|
if (!nsEnums) continue;
|
|
1617
1618
|
for (const entry of Object.values(nsEnums)) {
|
|
1618
1619
|
if (!isPostgresEnumStorageEntry(entry)) continue;
|
|
@@ -1805,8 +1806,8 @@ function planFieldEventOperations(options) {
|
|
|
1805
1806
|
for (const namespaceId of namespaceIds) {
|
|
1806
1807
|
const priorNs = priorContract?.storage.namespaces[namespaceId];
|
|
1807
1808
|
const newNs = newContract.storage.namespaces[namespaceId];
|
|
1808
|
-
const priorTables = priorNs?.
|
|
1809
|
-
const newTables = newNs?.
|
|
1809
|
+
const priorTables = priorNs?.entries.table;
|
|
1810
|
+
const newTables = newNs?.entries.table;
|
|
1810
1811
|
const tableNames = unionSorted(priorTables ? Object.keys(priorTables) : [], newTables ? Object.keys(newTables) : []);
|
|
1811
1812
|
for (const tableName of tableNames) {
|
|
1812
1813
|
const priorTableRaw = priorTables?.[tableName];
|