@vibeorm/migrate 2.2.0 → 2.3.0
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/adoption.d.ts.map +1 -1
- package/dist/baseline-record.d.ts +14 -0
- package/dist/baseline-record.d.ts.map +1 -0
- package/dist/baseline.d.ts +31 -0
- package/dist/baseline.d.ts.map +1 -0
- package/dist/compare-reference-rls.d.ts +10 -0
- package/dist/compare-reference-rls.d.ts.map +1 -0
- package/dist/compare-sqlite-primary-key.d.ts +6 -0
- package/dist/compare-sqlite-primary-key.d.ts.map +1 -0
- package/dist/desired-state.d.ts.map +1 -1
- package/dist/fs.js +636 -392
- package/dist/fs.js.map +14 -11
- package/dist/index.d.ts +12 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6322 -5092
- package/dist/index.js.map +46 -33
- package/dist/inspect-objects.d.ts +8 -1
- package/dist/inspect-objects.d.ts.map +1 -1
- package/dist/introspect/postgres.d.ts.map +1 -1
- package/dist/module-history.d.ts +6 -0
- package/dist/module-history.d.ts.map +1 -1
- package/dist/module-ownership.d.ts +8 -0
- package/dist/module-ownership.d.ts.map +1 -1
- package/dist/module-pending.d.ts +2 -0
- package/dist/module-pending.d.ts.map +1 -1
- package/dist/mysql-catalog-visibility.d.ts +5 -0
- package/dist/mysql-catalog-visibility.d.ts.map +1 -0
- package/dist/planner.d.ts +5 -0
- package/dist/planner.d.ts.map +1 -1
- package/dist/postgres-type-identity.d.ts +15 -0
- package/dist/postgres-type-identity.d.ts.map +1 -0
- package/dist/postgres-types.d.ts +5 -0
- package/dist/postgres-types.d.ts.map +1 -1
- package/dist/reference-state.d.ts.map +1 -1
- package/dist/replay-objects.d.ts +10 -0
- package/dist/replay-objects.d.ts.map +1 -0
- package/dist/replay-plan.d.ts +28 -0
- package/dist/replay-plan.d.ts.map +1 -0
- package/dist/replay-reference.d.ts +18 -0
- package/dist/replay-reference.d.ts.map +1 -0
- package/dist/runner.d.ts +6 -0
- package/dist/runner.d.ts.map +1 -1
- package/dist/shadow-dedicated.d.ts +12 -0
- package/dist/shadow-dedicated.d.ts.map +1 -0
- package/dist/shadow-guard.d.ts +13 -0
- package/dist/shadow-guard.d.ts.map +1 -0
- package/dist/shadow-types.d.ts +52 -0
- package/dist/shadow-types.d.ts.map +1 -0
- package/dist/shadow.d.ts +17 -0
- package/dist/shadow.d.ts.map +1 -0
- package/dist/verify-history.d.ts +35 -0
- package/dist/verify-history.d.ts.map +1 -0
- package/package.json +3 -3
|
@@ -36,6 +36,12 @@ export declare function inspectSqlObject(params: {
|
|
|
36
36
|
dialect: Dialect;
|
|
37
37
|
identity: SqlObjectIdentity;
|
|
38
38
|
}): Promise<InspectedSqlObject>;
|
|
39
|
+
/** Inspect an independent reference in bounded round trips, preserving missing/unavailable outcomes. */
|
|
40
|
+
export declare function inspectSqlObjects(params: {
|
|
41
|
+
executor: SqlExecutor;
|
|
42
|
+
dialect: Dialect;
|
|
43
|
+
identities: readonly SqlObjectIdentity[];
|
|
44
|
+
}): Promise<readonly InspectedSqlObject[]>;
|
|
39
45
|
/** Require provable catalog visibility; role-only/partial grants report unavailable rather than missing. */
|
|
40
46
|
export declare function assertCatalogVisibility(params: {
|
|
41
47
|
executor: SqlExecutor;
|
|
@@ -52,7 +58,8 @@ export declare function verifyMigrationState(params: {
|
|
|
52
58
|
executor: SqlExecutor;
|
|
53
59
|
expected: DesiredState;
|
|
54
60
|
dialect: Dialect;
|
|
55
|
-
probe?: "none" | "rollback" | "temporary";
|
|
61
|
+
probe?: "none" | "rollback" | "temporary"; /** Independent replay verification may batch its catalog reads. */
|
|
62
|
+
batch?: true;
|
|
56
63
|
}): Promise<MigrationStateReport>;
|
|
57
64
|
/** A transition verifies intended removals as well as definitions that should remain. */
|
|
58
65
|
export declare function verifyMigrationTransition(params: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspect-objects.d.ts","sourceRoot":"","sources":["../src/inspect-objects.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAkB,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"inspect-objects.d.ts","sourceRoot":"","sources":["../src/inspect-objects.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../src/introspect/postgres.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AASH,OAAO,KAAK,EASV,QAAQ,EACT,MAAM,iBAAiB,CAAC;AASzB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../src/introspect/postgres.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AASH,OAAO,KAAK,EASV,QAAQ,EACT,MAAM,iBAAiB,CAAC;AASzB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AA4M/C,gFAAgF;AAChF,wBAAsB,kBAAkB,CAAC,MAAM,EAAE;IAC/C,QAAQ,EAAE,WAAW,CAAC;IACtB,uFAAuF;IACvF,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,0FAA0F;IAC1F,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,GAAG,OAAO,CAAC,QAAQ,CAAC,CAuBpB;AAED,yFAAyF;AACzF,wBAAsB,0BAA0B,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,WAAW,CAAA;CAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CA2MrG"}
|
package/dist/module-history.d.ts
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
import type { ModuleJournalRecord } from "./module-journal.ts";
|
|
2
|
+
import type { ModuleMigrationOrigin } from "./module-origin.ts";
|
|
2
3
|
import type { MigrationFile } from "./types.ts";
|
|
3
4
|
/** Validate ordered chains, never selecting an earlier completed entry past a later incomplete one. */
|
|
4
5
|
export declare function moduleHistoryHeads(params: {
|
|
5
6
|
records: ReadonlyMap<string, ModuleJournalRecord>;
|
|
6
7
|
}): Map<string, ModuleJournalRecord>;
|
|
8
|
+
/** Installed module expectations for an ordinary application file, including subset runners. */
|
|
9
|
+
export declare function applicationModuleOrigins(params: {
|
|
10
|
+
migration: MigrationFile;
|
|
11
|
+
records: ReadonlyMap<string, ModuleJournalRecord>;
|
|
12
|
+
}): readonly ModuleMigrationOrigin[];
|
|
7
13
|
/** Lock-held admission for the full pending sequence, including conflicts with prior module ownership. */
|
|
8
14
|
export declare function assertModuleUpgradeHistory(params: {
|
|
9
15
|
migrations: readonly MigrationFile[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-history.d.ts","sourceRoot":"","sources":["../src/module-history.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"module-history.d.ts","sourceRoot":"","sources":["../src/module-history.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAMhD,uGAAuG;AACvG,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;CAAE,GAAG,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAgBlI;AAED,gGAAgG;AAChG,wBAAgB,wBAAwB,CAAC,MAAM,EAAE;IAAE,SAAS,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;CAAE,GAAG,SAAS,qBAAqB,EAAE,CAQlK;AAiBD,0GAA0G;AAC1G,wBAAgB,0BAA0B,CAAC,MAAM,EAAE;IAAE,UAAU,EAAE,SAAS,aAAa,EAAE,CAAC;IAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;CAAE,GAAG,IAAI,CAyCpJ"}
|
|
@@ -21,5 +21,13 @@ export declare function assertLiveModuleOwnership(params: {
|
|
|
21
21
|
executor: SqlExecutor;
|
|
22
22
|
origin: ModuleMigrationOrigin;
|
|
23
23
|
resume?: boolean;
|
|
24
|
+
sqliteRestorePending?: true;
|
|
25
|
+
}): Promise<void>;
|
|
26
|
+
/** Protect installed module objects without requiring an application snapshot. */
|
|
27
|
+
export declare function assertApplicationModuleState(params: {
|
|
28
|
+
executor: SqlExecutor;
|
|
29
|
+
origins: readonly ModuleMigrationOrigin[];
|
|
30
|
+
probe?: "none" | "rollback" | "temporary";
|
|
31
|
+
sqliteRestorePending?: true;
|
|
24
32
|
}): Promise<void>;
|
|
25
33
|
//# sourceMappingURL=module-ownership.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-ownership.d.ts","sourceRoot":"","sources":["../src/module-ownership.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"module-ownership.d.ts","sourceRoot":"","sources":["../src/module-ownership.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,KAAK,EAAgB,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAOhE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAS9C,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,qBAAqB,CAAA;CAAE,GAAG,MAAM,CAKjF;AAED,6FAA6F;AAC7F,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IAAE,YAAY,EAAE,qBAAqB,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,iBAAiB,EAAE,CAKpI;AAED,+FAA+F;AAC/F,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,qBAAqB,CAAC;IAAC,YAAY,CAAC,EAAE,qBAAqB,CAAA;CAAE,GAAG,IAAI,CAgC3H;AA2BD,6GAA6G;AAC7G,wBAAsB,yBAAyB,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,qBAAqB,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,oBAAoB,CAAC,EAAE,IAAI,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB9K;AAED,kFAAkF;AAClF,wBAAsB,4BAA4B,CAAC,MAAM,EAAE;IACzD,QAAQ,EAAE,WAAW,CAAC;IACtB,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC1C,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC;IAC1C,oBAAoB,CAAC,EAAE,IAAI,CAAC;CAC7B,GAAG,OAAO,CAAC,IAAI,CAAC,CAQhB"}
|
package/dist/module-pending.d.ts
CHANGED
|
@@ -13,5 +13,7 @@ export declare function pendingModuleMigrations(params: {
|
|
|
13
13
|
existing: readonly MigrationFile[];
|
|
14
14
|
prefix: string;
|
|
15
15
|
application?: SchemaIR;
|
|
16
|
+
/** Independently replayed complete history, required when importing after a SQL-only application head. */
|
|
17
|
+
replayState?: DesiredState;
|
|
16
18
|
}): readonly MigrationFile[];
|
|
17
19
|
//# sourceMappingURL=module-pending.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-pending.d.ts","sourceRoot":"","sources":["../src/module-pending.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAGhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAsBhD,kHAAkH;AAClH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE;IAAE,WAAW,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAA;CAAE,GAAG,YAAY,CAWxI;AAED,gHAAgH;AAChH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAC9C,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC1C,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"module-pending.d.ts","sourceRoot":"","sources":["../src/module-pending.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAGhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAsBhD,kHAAkH;AAClH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE;IAAE,WAAW,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAA;CAAE,GAAG,YAAY,CAWxI;AAED,gHAAgH;AAChH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAC9C,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC1C,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,0GAA0G;IAC1G,WAAW,CAAC,EAAE,YAAY,CAAC;CAC5B,GAAG,SAAS,aAAa,EAAE,CA6D3B"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** Prove unfiltered MySQL FK metadata visibility without requiring global row reads. */
|
|
2
|
+
export declare function hasMysqlGlobalCatalogVisibility(params: {
|
|
3
|
+
rows: readonly Record<string, unknown>[];
|
|
4
|
+
}): boolean;
|
|
5
|
+
//# sourceMappingURL=mysql-catalog-visibility.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mysql-catalog-visibility.d.ts","sourceRoot":"","sources":["../src/mysql-catalog-visibility.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,wBAAgB,+BAA+B,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;CAAE,GAAG,OAAO,CAY7G"}
|
package/dist/planner.d.ts
CHANGED
|
@@ -2,10 +2,13 @@ import type { Dialect, SchemaIR, SqlObjectIdentity, VibeExtension } from "@vibeo
|
|
|
2
2
|
import type { SqlExecutor, MigrationStep } from "./types.ts";
|
|
3
3
|
import type { DesiredState } from "./desired-state.ts";
|
|
4
4
|
import type { MigrationObjectState } from "./inspect-objects.ts";
|
|
5
|
+
import type { CatalogObject } from "./inventory.ts";
|
|
5
6
|
/** Shared live plan; reports observations separately from trusted desired declarations. */
|
|
6
7
|
export type SchemaMigrationPlan = {
|
|
7
8
|
readonly physical: SchemaIR;
|
|
8
9
|
readonly from: SchemaIR;
|
|
10
|
+
/** Desired schema with independently resolved PostgreSQL type evidence retained. */
|
|
11
|
+
readonly to: SchemaIR;
|
|
9
12
|
readonly namespace: string;
|
|
10
13
|
readonly steps: readonly MigrationStep[];
|
|
11
14
|
readonly sql: readonly string[];
|
|
@@ -21,6 +24,8 @@ export declare function planSchemaMigration(params: {
|
|
|
21
24
|
namespace?: string;
|
|
22
25
|
/** Already-introspected physical IR, including verified native RLS when applicable. */
|
|
23
26
|
physical?: SchemaIR;
|
|
27
|
+
/** Inventory captured with physical; replay has already excluded verified private infrastructure. */
|
|
28
|
+
physicalInventory?: readonly CatalogObject[];
|
|
24
29
|
previous?: DesiredState;
|
|
25
30
|
extensions?: readonly VibeExtension[];
|
|
26
31
|
probe?: "none" | "rollback" | "temporary";
|
package/dist/planner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../src/planner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../src/planner.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE3F,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAMpD,2FAA2F;AAC3F,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,oFAAoF;IACpF,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;IACzC,QAAQ,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAClD,QAAQ,CAAC,iBAAiB,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACzD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,qGAAqG;AACrG,wBAAsB,mBAAmB,CAAC,MAAM,EAAE;IAChD,QAAQ,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC9E,uFAAuF;IACvF,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,qGAAqG;IACrG,iBAAiB,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAC7C,QAAQ,CAAC,EAAE,YAAY,CAAC;IAAC,UAAU,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAC/D,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC;IAAC,aAAa,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACzF,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAoK/B"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { SchemaIR, SqlObjectIdentity } from "@vibeorm/schema";
|
|
2
|
+
import type { SqlExecutor } from "./types.ts";
|
|
3
|
+
/** Resolved migration fields and columns whose authored identity cannot be proven. */
|
|
4
|
+
export type PostgresTypeResolution = {
|
|
5
|
+
readonly schema: SchemaIR;
|
|
6
|
+
readonly unavailable: readonly SqlObjectIdentity[];
|
|
7
|
+
};
|
|
8
|
+
/** Resolve only from explicit names, independent evidence, or PostgreSQL's system catalog. */
|
|
9
|
+
export declare function resolvePostgresTypeIdentities(params: {
|
|
10
|
+
executor: SqlExecutor;
|
|
11
|
+
schema: SchemaIR;
|
|
12
|
+
previous?: SchemaIR;
|
|
13
|
+
mode: "catalog" | "reference" | "verify";
|
|
14
|
+
}): Promise<PostgresTypeResolution>;
|
|
15
|
+
//# sourceMappingURL=postgres-type-identity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postgres-type-identity.d.ts","sourceRoot":"","sources":["../src/postgres-type-identity.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAW,QAAQ,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAG5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,sFAAsF;AACtF,MAAM,MAAM,sBAAsB,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,iBAAiB,EAAE,CAAA;CAAE,CAAC;AAEvH,8FAA8F;AAC9F,wBAAsB,6BAA6B,CAAC,MAAM,EAAE;IAC1D,QAAQ,EAAE,WAAW,CAAC;IACtB,MAAM,EAAE,QAAQ,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;CAC1C,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAyClC"}
|
package/dist/postgres-types.d.ts
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* on them so `diff(introspect(push(X)), X) = []` holds by construction.
|
|
9
9
|
*/
|
|
10
10
|
import type { CascadeAction, FieldIR, ScalarType } from "@vibeorm/schema";
|
|
11
|
+
import type { PostgresTypeName } from "@vibeorm/sql";
|
|
11
12
|
/** IR scalar → canonical postgres column type. */
|
|
12
13
|
export declare const SCALAR_TO_PG: Readonly<Record<ScalarType, string>>;
|
|
13
14
|
/**
|
|
@@ -18,6 +19,10 @@ export declare const SCALAR_TO_PG: Readonly<Record<ScalarType, string>>;
|
|
|
18
19
|
export declare function normalizeNativeType(params: {
|
|
19
20
|
raw: string;
|
|
20
21
|
}): string;
|
|
22
|
+
/** Parse unsupported types without folding quoted identifier or literal bytes. */
|
|
23
|
+
export declare function parseUnsupportedPostgresType(params: {
|
|
24
|
+
raw: string;
|
|
25
|
+
}): PostgresTypeName | undefined;
|
|
21
26
|
/**
|
|
22
27
|
* Comparison key for a column's type. Two columns with equal keys need no
|
|
23
28
|
* ALTER. A native type equal to the scalar's canonical mapping is dropped, so
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgres-types.d.ts","sourceRoot":"","sources":["../src/postgres-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"postgres-types.d.ts","sourceRoot":"","sources":["../src/postgres-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAKrD,kDAAkD;AAClD,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAU7D,CAAC;AA+CF;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAMnE;AAED,kFAAkF;AAClF,wBAAgB,4BAA4B,CAAC,MAAM,EAAE;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,gBAAgB,GAAG,SAAS,CAOlG;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAuBhE;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAMrF;AAID,6EAA6E;AAC7E,wBAAgB,aAAa,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAyBhE;AAED,oFAAoF;AACpF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAQpE;AAID;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,GAAG,IAAI,CA2C5E;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,GAAG,SAAS,CAyBzE;AAKD,iFAAiF;AACjF,wBAAgB,eAAe,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GAAG,OAAO,CAGrE;AAID;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAM7E,CAAC;AAEF,uCAAuC;AACvC,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAMtE,CAAC;AAEF;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE;IACtC,QAAQ,EAAE,aAAa,GAAG,SAAS,CAAC;IACpC,QAAQ,EAAE,OAAO,CAAC;CACnB,GAAG,aAAa,CAGhB;AAED,iEAAiE;AACjE,wBAAgB,eAAe,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,aAAa,GAAG,SAAS,CAAA;CAAE,GAAG,aAAa,CAE9F;AAID,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAE/D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reference-state.d.ts","sourceRoot":"","sources":["../src/reference-state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"reference-state.d.ts","sourceRoot":"","sources":["../src/reference-state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C;;;;GAIG;AACH,wBAAsB,yBAAyB,CAAC,MAAM,EAAE;IACtD,iBAAiB,EAAE,WAAW,CAAC;IAC/B,MAAM,EAAE,QAAQ,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB,GAAG,OAAO,CAAC,YAAY,CAAC,CAyBxB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { SchemaIR } from "@vibeorm/schema";
|
|
2
|
+
import type { ReplayReference } from "./shadow-types.ts";
|
|
3
|
+
import type { SqlExecutor } from "./types.ts";
|
|
4
|
+
/** Compile authored custom bodies on scratch; reject lost transactions and failed rollback. */
|
|
5
|
+
export declare function compareReplayMigrationObjects(params: {
|
|
6
|
+
executor: SqlExecutor;
|
|
7
|
+
reference: ReplayReference;
|
|
8
|
+
schema: SchemaIR;
|
|
9
|
+
}): Promise<SchemaIR>;
|
|
10
|
+
//# sourceMappingURL=replay-objects.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replay-objects.d.ts","sourceRoot":"","sources":["../src/replay-objects.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAuB,MAAM,iBAAiB,CAAC;AAQrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAgC9C,+FAA+F;AAC/F,wBAAsB,6BAA6B,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,eAAe,CAAC;IAAC,MAAM,EAAE,QAAQ,CAAA;CAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CA2DtJ"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { SchemaIR, SqlObjectIdentity, VibeExtension } from "@vibeorm/schema";
|
|
2
|
+
import type { SchemaMigrationPlan } from "./planner.ts";
|
|
3
|
+
import type { ReplayReference } from "./shadow-types.ts";
|
|
4
|
+
import type { MigrationFile, SqlExecutor } from "./types.ts";
|
|
5
|
+
/** Replay-specific plan; all drop candidates remain visible until individually authorized. */
|
|
6
|
+
export type ReplayMigrationPlan = SchemaMigrationPlan & {
|
|
7
|
+
readonly requiredRemovals: readonly SqlObjectIdentity[];
|
|
8
|
+
readonly retainedObjects: readonly SqlObjectIdentity[];
|
|
9
|
+
readonly securityChanges: readonly string[];
|
|
10
|
+
/** Legacy replay may need approvals for removals that are already absent now. */
|
|
11
|
+
readonly replayRemovals: readonly SqlObjectIdentity[];
|
|
12
|
+
};
|
|
13
|
+
/** Plan only on an independently replayed scratch session, without changing legacy live-planner defaults. */
|
|
14
|
+
export declare function planReplayMigration(params: {
|
|
15
|
+
executor: SqlExecutor;
|
|
16
|
+
reference: ReplayReference;
|
|
17
|
+
schema: SchemaIR;
|
|
18
|
+
migrations: readonly MigrationFile[];
|
|
19
|
+
extensions?: readonly VibeExtension[];
|
|
20
|
+
replaceChecks?: readonly SqlObjectIdentity[];
|
|
21
|
+
}): Promise<ReplayMigrationPlan>;
|
|
22
|
+
/** Publication authorization is separate from preview and applies even to represented historical objects. */
|
|
23
|
+
export declare function assertReplayRemovals(params: {
|
|
24
|
+
plan: ReplayMigrationPlan;
|
|
25
|
+
approved: readonly SqlObjectIdentity[];
|
|
26
|
+
acceptIntegrityLoss?: boolean;
|
|
27
|
+
}): void;
|
|
28
|
+
//# sourceMappingURL=replay-plan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replay-plan.d.ts","sourceRoot":"","sources":["../src/replay-plan.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAKlF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE7D,8FAA8F;AAC9F,MAAM,MAAM,mBAAmB,GAAG,mBAAmB,GAAG;IACtD,QAAQ,CAAC,gBAAgB,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACxD,QAAQ,CAAC,eAAe,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACvD,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,iFAAiF;IACjF,QAAQ,CAAC,cAAc,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACvD,CAAC;AAEF,6GAA6G;AAC7G,wBAAsB,mBAAmB,CAAC,MAAM,EAAE;IAChD,QAAQ,EAAE,WAAW,CAAC;IACtB,SAAS,EAAE,eAAe,CAAC;IAC3B,MAAM,EAAE,QAAQ,CAAC;IACjB,UAAU,EAAE,SAAS,aAAa,EAAE,CAAC;IACrC,UAAU,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IACtC,aAAa,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAC9C,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAwC/B;AAED,6GAA6G;AAC7G,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAOvJ"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Dialect } from "@vibeorm/schema";
|
|
2
|
+
import type { MigrationFile, SqlExecutor } from "./types.ts";
|
|
3
|
+
import type { ReplayReference } from "./shadow-types.ts";
|
|
4
|
+
/** Input binding separate from immutable journal checksum compatibility. */
|
|
5
|
+
export declare function replayFingerprint(params: {
|
|
6
|
+
value: unknown;
|
|
7
|
+
}): string;
|
|
8
|
+
/** Capture actual replay results, including custom objects absent from declarations. */
|
|
9
|
+
export declare function captureReplayReference(params: {
|
|
10
|
+
executor: SqlExecutor;
|
|
11
|
+
dialect: Dialect;
|
|
12
|
+
migrations: readonly MigrationFile[];
|
|
13
|
+
/** Only a marker already verified by the owning lifecycle may be hidden. */
|
|
14
|
+
privateTable?: string;
|
|
15
|
+
/** Only the dedicated lifecycle may exempt its PostgreSQL marker namespace. */
|
|
16
|
+
privateNamespace?: string;
|
|
17
|
+
}): Promise<ReplayReference>;
|
|
18
|
+
//# sourceMappingURL=replay-reference.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replay-reference.d.ts","sourceRoot":"","sources":["../src/replay-reference.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAqB,MAAM,iBAAiB,CAAC;AAUlE,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAEpE;AAED,wFAAwF;AACxF,wBAAsB,sBAAsB,CAAC,MAAM,EAAE;IACnD,QAAQ,EAAE,WAAW,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,SAAS,aAAa,EAAE,CAAC;IACrC,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,OAAO,CAAC,eAAe,CAAC,CA2D3B"}
|
package/dist/runner.d.ts
CHANGED
|
@@ -93,6 +93,12 @@ export declare function generateMigration(params: {
|
|
|
93
93
|
/** Independent authored baseline; required by live generation on an existing database. */
|
|
94
94
|
desiredState?: MigrationDesiredState;
|
|
95
95
|
}): MigrationFile;
|
|
96
|
+
/** Run one operation on a dedicated session under the existing migration lock. */
|
|
97
|
+
export declare function withMigrationLock<T>(params: {
|
|
98
|
+
executor: SqlExecutor;
|
|
99
|
+
dialect: Dialect;
|
|
100
|
+
run: (executor: SqlExecutor) => Promise<T>;
|
|
101
|
+
}): Promise<T>;
|
|
96
102
|
/** Validate replay declarations and approvals without reading or writing a database. */
|
|
97
103
|
export declare function validateMigrationReplay(params: MigrationReplayOptions): void;
|
|
98
104
|
/**
|
package/dist/runner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { MigrationReferenceOptions, ShadowDatabaseOptions } from "./shadow-types.ts";
|
|
2
|
+
import type { SqlExecutor } from "./types.ts";
|
|
3
|
+
type DedicatedOptions = Extract<ShadowDatabaseOptions, {
|
|
4
|
+
readonly mode: "dedicated";
|
|
5
|
+
}>;
|
|
6
|
+
/** @internal Dedicated mode is a reset lease, never database deletion authority. */
|
|
7
|
+
export declare function withDedicatedShadow<T>(params: MigrationReferenceOptions<T> & {
|
|
8
|
+
readonly shadow: DedicatedOptions;
|
|
9
|
+
readonly runReference: (executor: SqlExecutor, privateTable?: string) => Promise<T>;
|
|
10
|
+
}): Promise<T>;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=shadow-dedicated.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shadow-dedicated.d.ts","sourceRoot":"","sources":["../src/shadow-dedicated.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,KAAK,gBAAgB,GAAG,OAAO,CAAC,qBAAqB,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC,CAAC;AAkFvF,oFAAoF;AACpF,wBAAsB,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,yBAAyB,CAAC,CAAC,CAAC,GAAG;IAClF,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;CACrF,GAAG,OAAO,CAAC,CAAC,CAAC,CAuFb"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Dialect } from "@vibeorm/schema";
|
|
2
|
+
import type { SqlExecutor } from "./types.ts";
|
|
3
|
+
/** Refuse application migration writes to databases claimed for disposable replay. */
|
|
4
|
+
export declare function assertDatabaseNotShadow(params: {
|
|
5
|
+
executor: SqlExecutor;
|
|
6
|
+
dialect: Dialect;
|
|
7
|
+
}): Promise<void>;
|
|
8
|
+
/** @internal Permit only the already pinned session during lifecycle-owned replay. */
|
|
9
|
+
export declare function runShadowReplay<T>(params: {
|
|
10
|
+
executor: SqlExecutor;
|
|
11
|
+
run: () => Promise<T>;
|
|
12
|
+
}): Promise<T>;
|
|
13
|
+
//# sourceMappingURL=shadow-guard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shadow-guard.d.ts","sourceRoot":"","sources":["../src/shadow-guard.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAI9C,sFAAsF;AACtF,wBAAsB,uBAAuB,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAKhH;AAED,sFAAsF;AACtF,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE;IAAE,QAAQ,EAAE,WAAW,CAAC;IAAC,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAA;CAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAGvG"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { Dialect, Provider } from "@vibeorm/schema";
|
|
2
|
+
import type { DesiredState } from "./desired-state.ts";
|
|
3
|
+
import type { CatalogObject } from "./inventory.ts";
|
|
4
|
+
import type { MigrationObjectState } from "./inspect-objects.ts";
|
|
5
|
+
import type { MigrationFile, MigrationReplayOptions, SqlExecutor } from "./types.ts";
|
|
6
|
+
/** Explicit scratch selection; automatic mode never accepts a deployment target. */
|
|
7
|
+
export type ShadowDatabaseOptions = {
|
|
8
|
+
readonly mode: "automatic";
|
|
9
|
+
readonly provider: "postgresql" | "mysql";
|
|
10
|
+
readonly adminUrl: string;
|
|
11
|
+
} | {
|
|
12
|
+
readonly mode: "dedicated";
|
|
13
|
+
readonly provider: "postgresql" | "mysql";
|
|
14
|
+
readonly databaseUrl: string;
|
|
15
|
+
readonly targetUrl: string;
|
|
16
|
+
readonly ownerKey: string;
|
|
17
|
+
} | {
|
|
18
|
+
readonly mode: "automatic";
|
|
19
|
+
readonly provider: "pglite" | "sqlite";
|
|
20
|
+
};
|
|
21
|
+
/** Driver-independent connection; the factory must provide session affinity. */
|
|
22
|
+
export type ShadowConnection = {
|
|
23
|
+
readonly executor: SqlExecutor;
|
|
24
|
+
readonly close: () => Promise<void>;
|
|
25
|
+
};
|
|
26
|
+
/** CLI supplies its existing adapter factory without coupling migrate to drivers. */
|
|
27
|
+
export type ShadowConnectionFactory = (params: {
|
|
28
|
+
readonly provider: Provider;
|
|
29
|
+
readonly url: string;
|
|
30
|
+
}) => Promise<ShadowConnection>;
|
|
31
|
+
/** Ephemeral evidence reconstructed from exactly one reviewed migration chain. */
|
|
32
|
+
export type ReplayReference = {
|
|
33
|
+
readonly dialect: Dialect;
|
|
34
|
+
readonly namespace: string;
|
|
35
|
+
readonly state: DesiredState;
|
|
36
|
+
readonly inventory: readonly CatalogObject[];
|
|
37
|
+
readonly unavailable: readonly MigrationObjectState[];
|
|
38
|
+
readonly chainFingerprint: string;
|
|
39
|
+
readonly contextFingerprint: string;
|
|
40
|
+
};
|
|
41
|
+
/** One lifecycle shared by generate, baseline and explicit history verification. */
|
|
42
|
+
export type MigrationReferenceOptions<T> = {
|
|
43
|
+
readonly shadow: ShadowDatabaseOptions;
|
|
44
|
+
readonly openConnection: ShadowConnectionFactory;
|
|
45
|
+
readonly migrations: readonly MigrationFile[];
|
|
46
|
+
readonly replay?: Omit<MigrationReplayOptions, "migrations" | "dialect">;
|
|
47
|
+
readonly run: (params: {
|
|
48
|
+
readonly executor: SqlExecutor;
|
|
49
|
+
readonly reference: ReplayReference;
|
|
50
|
+
}) => Promise<T>;
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=shadow-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shadow-types.d.ts","sourceRoot":"","sources":["../src/shadow-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAErF,oFAAoF;AACpF,MAAM,MAAM,qBAAqB,GAC7B;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACpG;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC9J;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAA;CAAE,CAAC;AAE3E,gFAAgF;AAChF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC,CAAC;AAEF,qFAAqF;AACrF,MAAM,MAAM,uBAAuB,GAAG,CAAC,MAAM,EAAE;IAC7C,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAEhC,kFAAkF;AAClF,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,SAAS,aAAa,EAAE,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACtD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC,CAAC;AAEF,oFAAoF;AACpF,MAAM,MAAM,yBAAyB,CAAC,CAAC,IAAI;IACzC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACvC,QAAQ,CAAC,cAAc,EAAE,uBAAuB,CAAC;IACjD,QAAQ,CAAC,UAAU,EAAE,SAAS,aAAa,EAAE,CAAC;IAC9C,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,sBAAsB,EAAE,YAAY,GAAG,SAAS,CAAC,CAAC;IACzE,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAA;KAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;CAC/G,CAAC"}
|
package/dist/shadow.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { MigrationReferenceOptions, ShadowConnection } from "./shadow-types.ts";
|
|
2
|
+
import type { SqlExecutor } from "./types.ts";
|
|
3
|
+
/** @internal Cleanup always runs; preserve a primary failure when cleanup also fails. */
|
|
4
|
+
export declare function finishShadowWork<T>(params: {
|
|
5
|
+
run: () => Promise<T>;
|
|
6
|
+
cleanup: () => Promise<void>;
|
|
7
|
+
artifact: string;
|
|
8
|
+
}): Promise<T>;
|
|
9
|
+
/** @internal Keep a pinned session for every identity, lease, reset and replay query. */
|
|
10
|
+
export declare function withShadowConnection<T>(params: {
|
|
11
|
+
connection: ShadowConnection;
|
|
12
|
+
run: (executor: SqlExecutor) => Promise<T>;
|
|
13
|
+
artifact: string;
|
|
14
|
+
}): Promise<T>;
|
|
15
|
+
/** Build an independent reference and own its entire lifetime; never connect to an implicit target. */
|
|
16
|
+
export declare function withMigrationReference<T>(params: MigrationReferenceOptions<T>): Promise<T>;
|
|
17
|
+
//# sourceMappingURL=shadow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shadow.d.ts","sourceRoot":"","sources":["../src/shadow.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,yFAAyF;AACzF,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE;IAAE,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IAAC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAcjI;AAED,yFAAyF;AACzF,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE;IAAE,UAAU,EAAE,gBAAgB,CAAC;IAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAO1J;AAED,uGAAuG;AACvG,wBAAsB,sBAAsB,CAAC,CAAC,EAAE,MAAM,EAAE,yBAAyB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CA6ChG"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { Dialect } from "@vibeorm/schema";
|
|
2
|
+
import type { MigrationObjectState } from "./inspect-objects.ts";
|
|
3
|
+
import type { CatalogObject } from "./inventory.ts";
|
|
4
|
+
import type { ReplayReference } from "./shadow-types.ts";
|
|
5
|
+
import type { MigrationFile, RecordedMigration, SqlExecutor } from "./types.ts";
|
|
6
|
+
/** Select only the exact checksum-bound applied prefix returned by readMigrationHistory. */
|
|
7
|
+
export declare function selectMigrationVerificationPrefix(params: {
|
|
8
|
+
readonly migrations: readonly MigrationFile[];
|
|
9
|
+
readonly recorded: readonly RecordedMigration[];
|
|
10
|
+
}): readonly MigrationFile[];
|
|
11
|
+
/** Coverage is limited to represented objects in the migration namespace, not all database infrastructure. */
|
|
12
|
+
export type MigrationVerificationReport = {
|
|
13
|
+
readonly inSync: boolean;
|
|
14
|
+
readonly scope: "migration-namespace";
|
|
15
|
+
readonly namespace: string;
|
|
16
|
+
readonly objects: readonly MigrationObjectState[];
|
|
17
|
+
readonly unavailable: readonly MigrationObjectState[];
|
|
18
|
+
readonly unmanaged: readonly CatalogObject[];
|
|
19
|
+
};
|
|
20
|
+
/** Compare independently replayed evidence using catalog reads only, never target normalization probes. */
|
|
21
|
+
export declare function verifyMigrationReference(params: {
|
|
22
|
+
readonly executor: SqlExecutor;
|
|
23
|
+
readonly dialect: Dialect;
|
|
24
|
+
readonly reference: ReplayReference;
|
|
25
|
+
/** Live independent replay connection; required when its schema declares native RLS. */
|
|
26
|
+
readonly referenceExecutor?: SqlExecutor;
|
|
27
|
+
}): Promise<MigrationVerificationReport>;
|
|
28
|
+
/** Comparison-only evidence: rebasing must not forge a new replay/context fingerprint. */
|
|
29
|
+
export type MigrationComparisonReference = Pick<ReplayReference, "namespace" | "state" | "inventory" | "unavailable">;
|
|
30
|
+
/** Rebase structured MySQL catalog identities and FK namespace fields, never SQL text. */
|
|
31
|
+
export declare function rebaseMysqlVerificationReference(params: {
|
|
32
|
+
readonly reference: ReplayReference;
|
|
33
|
+
readonly namespace: string;
|
|
34
|
+
}): Promise<MigrationComparisonReference>;
|
|
35
|
+
//# sourceMappingURL=verify-history.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verify-history.d.ts","sourceRoot":"","sources":["../src/verify-history.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAA4E,MAAM,iBAAiB,CAAC;AAOzH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEhF,4FAA4F;AAC5F,wBAAgB,iCAAiC,CAAC,MAAM,EAAE;IACxD,QAAQ,CAAC,UAAU,EAAE,SAAS,aAAa,EAAE,CAAC;IAC9C,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACjD,GAAG,SAAS,aAAa,EAAE,CAgB3B;AAED,8GAA8G;AAC9G,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAClD,QAAQ,CAAC,WAAW,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACtD,QAAQ,CAAC,SAAS,EAAE,SAAS,aAAa,EAAE,CAAC;CAC9C,CAAC;AAEF,2GAA2G;AAC3G,wBAAsB,wBAAwB,CAAC,MAAM,EAAE;IACrD,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,wFAAwF;IACxF,QAAQ,CAAC,iBAAiB,CAAC,EAAE,WAAW,CAAC;CAC1C,GAAG,OAAO,CAAC,2BAA2B,CAAC,CA6CvC;AAED,0FAA0F;AAC1F,MAAM,MAAM,4BAA4B,GAAG,IAAI,CAAC,eAAe,EAAE,WAAW,GAAG,OAAO,GAAG,WAAW,GAAG,aAAa,CAAC,CAAC;AAEtH,0FAA0F;AAC1F,wBAAsB,gCAAgC,CAAC,MAAM,EAAE;IAC7D,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAoCxC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibeorm/migrate",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.0",
|
|
4
4
|
"description": "Migration engine for VibeORM v2 — IR differ, per-dialect DDL, migration runner, introspection",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"orm",
|
|
@@ -48,8 +48,8 @@
|
|
|
48
48
|
"bun": ">=1.2.0"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@vibeorm/schema": "2.
|
|
52
|
-
"@vibeorm/sql": "2.
|
|
51
|
+
"@vibeorm/schema": "2.3.0",
|
|
52
|
+
"@vibeorm/sql": "2.3.0"
|
|
53
53
|
},
|
|
54
54
|
"publishConfig": {
|
|
55
55
|
"access": "public"
|