@metaobjectsdev/migrate-ts 0.23.2 → 0.24.1

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.
Files changed (59) hide show
  1. package/dist/diff/index.d.ts.map +1 -1
  2. package/dist/diff/index.js +8 -7
  3. package/dist/diff/index.js.map +1 -1
  4. package/dist/drift/drift.d.ts +32 -2
  5. package/dist/drift/drift.d.ts.map +1 -1
  6. package/dist/drift/drift.js +15 -8
  7. package/dist/drift/drift.js.map +1 -1
  8. package/dist/emit/postgres.js +69 -12
  9. package/dist/emit/postgres.js.map +1 -1
  10. package/dist/emit/sqlite.d.ts.map +1 -1
  11. package/dist/emit/sqlite.js +9 -2
  12. package/dist/emit/sqlite.js.map +1 -1
  13. package/dist/expected-schema.d.ts +35 -0
  14. package/dist/expected-schema.d.ts.map +1 -1
  15. package/dist/expected-schema.js +29 -2
  16. package/dist/expected-schema.js.map +1 -1
  17. package/dist/index.d.ts +8 -2
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +7 -1
  20. package/dist/index.js.map +1 -1
  21. package/dist/qualified-name.d.ts +9 -0
  22. package/dist/qualified-name.d.ts.map +1 -0
  23. package/dist/qualified-name.js +21 -0
  24. package/dist/qualified-name.js.map +1 -0
  25. package/dist/scope.d.ts +121 -0
  26. package/dist/scope.d.ts.map +1 -0
  27. package/dist/scope.js +193 -0
  28. package/dist/scope.js.map +1 -0
  29. package/dist/snapshot/plan.d.ts +23 -1
  30. package/dist/snapshot/plan.d.ts.map +1 -1
  31. package/dist/snapshot/plan.js +17 -9
  32. package/dist/snapshot/plan.js.map +1 -1
  33. package/dist/types.d.ts +17 -0
  34. package/dist/types.d.ts.map +1 -1
  35. package/dist/unmanaged.d.ts.map +1 -1
  36. package/dist/unmanaged.js +3 -3
  37. package/dist/unmanaged.js.map +1 -1
  38. package/dist/verify/replay-engine.d.ts +10 -0
  39. package/dist/verify/replay-engine.d.ts.map +1 -0
  40. package/dist/verify/replay-engine.js +161 -0
  41. package/dist/verify/replay-engine.js.map +1 -0
  42. package/dist/verify/replay.d.ts +15 -0
  43. package/dist/verify/replay.d.ts.map +1 -1
  44. package/dist/verify/replay.js +7 -1
  45. package/dist/verify/replay.js.map +1 -1
  46. package/package.json +14 -3
  47. package/src/diff/index.ts +8 -7
  48. package/src/drift/drift.ts +55 -15
  49. package/src/emit/postgres.ts +70 -12
  50. package/src/emit/sqlite.ts +9 -2
  51. package/src/expected-schema.ts +57 -2
  52. package/src/index.ts +18 -2
  53. package/src/qualified-name.ts +22 -0
  54. package/src/scope.ts +261 -0
  55. package/src/snapshot/plan.ts +45 -13
  56. package/src/types.ts +17 -0
  57. package/src/unmanaged.ts +2 -3
  58. package/src/verify/replay-engine.ts +184 -0
  59. package/src/verify/replay.ts +21 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/diff/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EAGQ,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,OAAO,EAE3E,MAAM,aAAa,CAAC;AAYrB,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;;;;;;;;;;;;OAcG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,2FAA2F;IAC3F,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;OAQG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAgDD;;;;;;;;GAQG;AACH,wBAAsB,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAChE,wBAAsB,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,GAAG,QAAQ,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/diff/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EAGQ,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,OAAO,EAE3E,MAAM,aAAa,CAAC;AAarB,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;;;;;;;;;;;;OAcG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,2FAA2F;IAC3F,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;OAQG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAkDD;;;;;;;;GAQG;AACH,wBAAsB,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAChE,wBAAsB,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,GAAG,QAAQ,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC"}
@@ -7,6 +7,7 @@ import { viewReplaceIsLegal } from "../view-column-types.js";
7
7
  import { checkExprEquals, normalizeCheckExpr } from "../check-expr-compare.js";
8
8
  import { isPgAutoSequenceDefault } from "../pg-identity-default.js";
9
9
  import { DEFAULT_DB_SCHEMA_POSTGRES } from "@metaobjectsdev/metadata";
10
+ import { qualifiedDbName } from "../qualified-name.js";
10
11
  const ALLOWED = { state: "allowed" };
11
12
  /**
12
13
  * Default ignore-table patterns. Catches migration-tracking and replication
@@ -23,10 +24,12 @@ const DEFAULT_IGNORE_TABLES = [
23
24
  *
24
25
  * For SQLite (no schema concept), every table has schema=undefined, so this maps
25
26
  * all tables to the same "public." prefix — harmless and preserves existing behavior.
27
+ *
28
+ * `qualifiedDbName` is THE definition (qualified-name.ts): the act-side exclusion
29
+ * sets — declared-`@unmanaged` and out-of-scope — are matched against these keys, so
30
+ * a second spelling here would silently un-suppress an object and propose its drop.
26
31
  */
27
- function tableIdentity(table) {
28
- return (table.schema ?? DEFAULT_DB_SCHEMA_POSTGRES) + "." + table.name;
29
- }
32
+ const tableIdentity = qualifiedDbName;
30
33
  /**
31
34
  * Build the optional-schema spread used when constructing Change records.
32
35
  * Required because `exactOptionalPropertyTypes: true` rejects explicit `undefined`
@@ -60,7 +63,7 @@ export async function diff(argsOrExpected, actualMaybe, optsMaybe) {
60
63
  const declaredSchemas = new Set([
61
64
  ...args.expected.tables.map((t) => t.schema ?? DEFAULT_DB_SCHEMA_POSTGRES),
62
65
  // A model that declares views in a schema with no table of its own (e.g. an
63
- // API/read-model schema like `p3_api` sitting alongside an all-`public`
66
+ // API/read-model schema like `acme_api` sitting alongside an all-`public`
64
67
  // entity model) must still bring that schema into scope — otherwise its
65
68
  // views are silently excluded from BOTH sides of the diff (never compared,
66
69
  // so real drift in an opaque @sql body or a genuine missing/extra view goes
@@ -443,9 +446,7 @@ function diffTableChecks(expected, actual, changes, dialect) {
443
446
  changes.push({ kind: "drop-check", table: expected.name, ...sx, check: ac.name, restore: ac, status: ALLOWED });
444
447
  }
445
448
  }
446
- function viewIdentity(v) {
447
- return (v.schema ?? DEFAULT_DB_SCHEMA_POSTGRES) + "." + v.name;
448
- }
449
+ const viewIdentity = qualifiedDbName;
449
450
  /**
450
451
  * Decide, per view, whether the DB matches the model.
451
452
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/diff/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/diff/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { Kysely } from "kysely";
2
2
  import type { MetaRoot } from "@metaobjectsdev/metadata";
3
3
  import type { ColumnNamingStrategy } from "@metaobjectsdev/metadata";
4
+ import { type ObjectScopePredicate } from "../scope.js";
4
5
  import type { AllowOptions, Dialect, DiffResult, SchemaSnapshot } from "../types.js";
5
6
  export interface ComputeDriftOptions {
6
7
  /**
@@ -26,6 +27,35 @@ export interface ComputeDriftOptions {
26
27
  * itself; pass these so view drift is detected. Defaults to none.
27
28
  */
28
29
  views?: readonly import("../expected-schema.js").ExpectedViewInput[];
30
+ /**
31
+ * Per-command scope (`migrate.scope`): objects whose declaring FQN this predicate
32
+ * rejects are governed by somebody else. They leave the expected side AND are
33
+ * suppressed on the actual side, so their divergence is neither drift nor a
34
+ * proposed drop — `verify` reports them as out-of-scope instead (see
35
+ * `DriftResult.outOfScope`). Omit to govern everything loaded (unchanged behavior).
36
+ *
37
+ * `verify --db` and `migrate` deliberately share ONE declaration: a drift gate
38
+ * failing on tables migrate does not own is incoherent.
39
+ */
40
+ inScope?: ObjectScopePredicate;
41
+ }
42
+ export interface DriftResult extends DiffResult {
43
+ /**
44
+ * Qualified physical names excluded by `inScope` — empty when no scope was
45
+ * given. The caller REPORTS these: an object silently dropped from the
46
+ * comparison is indistinguishable from one that was checked and found clean.
47
+ */
48
+ outOfScope: readonly string[];
49
+ /**
50
+ * The schemas this comparison governed (`ScopedExpectedSchema.declaredSchemas`),
51
+ * `undefined` when no scope was given and `diff` derived its own.
52
+ *
53
+ * Reported so a SECOND comparison over the same run — `verify`'s committed-snapshot
54
+ * gate — can govern exactly the same schemas instead of re-deriving them from a
55
+ * different expected side. Together with `outOfScope` this pair is a
56
+ * `GovernedScope`, which is what `excludeFromSnapshot` takes.
57
+ */
58
+ declaredSchemas: readonly string[] | undefined;
29
59
  }
30
60
  /**
31
61
  * Compute the drift between an ALREADY-INTROSPECTED schema snapshot and the
@@ -39,7 +69,7 @@ export interface ComputeDriftOptions {
39
69
  * metadata. The caller decides exit behavior (the schema-drift gate fails when
40
70
  * `changes` is non-empty).
41
71
  */
42
- export declare function computeDriftFromActual(actual: SchemaSnapshot, dialect: Dialect, metadata: MetaRoot, opts?: ComputeDriftOptions): Promise<DiffResult>;
72
+ export declare function computeDriftFromActual(actual: SchemaSnapshot, dialect: Dialect, metadata: MetaRoot, opts?: ComputeDriftOptions): Promise<DriftResult>;
43
73
  /**
44
74
  * Compute the drift between a live DB and the metadata-declared schema.
45
75
  *
@@ -47,5 +77,5 @@ export declare function computeDriftFromActual(actual: SchemaSnapshot, dialect:
47
77
  * `computeDriftFromActual`. Signature and behavior are unchanged by the #225
48
78
  * refactor above — existing callers are unaffected.
49
79
  */
50
- export declare function computeDrift(db: Kysely<Record<string, unknown>>, dialect: Dialect, metadata: MetaRoot, opts?: ComputeDriftOptions): Promise<DiffResult>;
80
+ export declare function computeDrift(db: Kysely<Record<string, unknown>>, dialect: Dialect, metadata: MetaRoot, opts?: ComputeDriftOptions): Promise<DriftResult>;
51
81
  //# sourceMappingURL=drift.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"drift.d.ts","sourceRoot":"","sources":["../../src/drift/drift.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAKrE,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAErF,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,OAAO,uBAAuB,EAAE,iBAAiB,EAAE,CAAC;CACtE;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,UAAU,CAAC,CAkBrB;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACnC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,UAAU,CAAC,CAGrB"}
1
+ {"version":3,"file":"drift.d.ts","sourceRoot":"","sources":["../../src/drift/drift.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAKrE,OAAO,EAAyC,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC/F,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAErF,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,OAAO,uBAAuB,EAAE,iBAAiB,EAAE,CAAC;IACrE;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC;AAED,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C;;;;OAIG;IACH,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B;;;;;;;;OAQG;IACH,eAAe,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;CAChD;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,WAAW,CAAC,CA2BtB;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACnC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,WAAW,CAAC,CAGtB"}
@@ -12,10 +12,11 @@
12
12
  // `meta verify --d1` can drive the same expected-schema + diff pipeline from a
13
13
  // SchemaSnapshot obtained via `introspectD1` (wrangler-shelled-out) instead of a
14
14
  // Kysely driver — D1 has no client wire protocol, so `introspect()` can't reach it.
15
- import { buildExpectedSchema } from "../expected-schema.js";
15
+ import { buildExpectedSchemaWithProvenance } from "../expected-schema.js";
16
16
  import { introspect } from "../introspect/index.js";
17
17
  import { diff } from "../diff/index.js";
18
18
  import { collectUnmanagedNames } from "../unmanaged.js";
19
+ import { scopeExpectedSchema, scopedDiffInputs } from "../scope.js";
19
20
  /**
20
21
  * Compute the drift between an ALREADY-INTROSPECTED schema snapshot and the
21
22
  * metadata-declared schema. The post-introspection half of `computeDrift`,
@@ -29,23 +30,29 @@ import { collectUnmanagedNames } from "../unmanaged.js";
29
30
  * `changes` is non-empty).
30
31
  */
31
32
  export async function computeDriftFromActual(actual, dialect, metadata, opts) {
32
- const expected = buildExpectedSchema(metadata, {
33
+ const scoped = scopeExpectedSchema(buildExpectedSchemaWithProvenance(metadata, {
33
34
  dialect,
34
35
  ...(opts?.columnNamingStrategy !== undefined
35
36
  ? { columnNamingStrategy: opts.columnNamingStrategy }
36
37
  : {}),
37
38
  ...(opts?.views !== undefined ? { views: opts.views } : {}),
38
- });
39
- return diff({
40
- expected,
39
+ }), opts?.inScope);
40
+ const result = await diff({
41
+ // The three scoped-diff obligations as one value (see scope.ts's header):
42
+ // the narrowed expected side, `unmanagedNames` merging @unmanaged with the
43
+ // out-of-scope names so neither is proposed for drop, and the schema scope
44
+ // pinned to the UNSCOPED model so a narrow scope can never widen the run.
45
+ ...scopedDiffInputs(scoped, collectUnmanagedNames(metadata)),
41
46
  actual,
42
47
  dialect,
43
48
  allow: opts?.allow ?? {},
44
- // #208 §7 — a declared-@unmanaged object is external, so it is not drift: exclude it
45
- // from the actual side (same as `meta migrate`) rather than surface a false drop-*.
46
- unmanagedNames: collectUnmanagedNames(metadata),
47
49
  ...(opts?.ignoreTables !== undefined ? { ignoreTables: opts.ignoreTables } : {}),
48
50
  });
51
+ return {
52
+ ...result,
53
+ outOfScope: scoped.outOfScope,
54
+ declaredSchemas: scoped.declaredSchemas,
55
+ };
49
56
  }
50
57
  /**
51
58
  * Compute the drift between a live DB and the metadata-declared schema.
@@ -1 +1 @@
1
- {"version":3,"file":"drift.js","sourceRoot":"","sources":["../../src/drift/drift.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,gEAAgE;AAChE,wEAAwE;AACxE,EAAE;AACF,+EAA+E;AAC/E,6EAA6E;AAC7E,6EAA6E;AAC7E,4EAA4E;AAC5E,8CAA8C;AAC9C,EAAE;AACF,gFAAgF;AAChF,+EAA+E;AAC/E,iFAAiF;AACjF,oFAAoF;AAKpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AA6BxD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAsB,EACtB,OAAgB,EAChB,QAAkB,EAClB,IAA0B;IAE1B,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,EAAE;QAC7C,OAAO;QACP,GAAG,CAAC,IAAI,EAAE,oBAAoB,KAAK,SAAS;YAC1C,CAAC,CAAC,EAAE,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,EAAE;YACrD,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,IAAI,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5D,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;QACV,QAAQ;QACR,MAAM;QACN,OAAO;QACP,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE;QACxB,qFAAqF;QACrF,oFAAoF;QACpF,cAAc,EAAE,qBAAqB,CAAC,QAAQ,CAAC;QAC/C,GAAG,CAAC,IAAI,EAAE,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjF,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,EAAmC,EACnC,OAAgB,EAChB,QAAkB,EAClB,IAA0B;IAE1B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC7C,OAAO,sBAAsB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AACjE,CAAC"}
1
+ {"version":3,"file":"drift.js","sourceRoot":"","sources":["../../src/drift/drift.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,gEAAgE;AAChE,wEAAwE;AACxE,EAAE;AACF,+EAA+E;AAC/E,6EAA6E;AAC7E,6EAA6E;AAC7E,4EAA4E;AAC5E,8CAA8C;AAC9C,EAAE;AACF,gFAAgF;AAChF,+EAA+E;AAC/E,iFAAiF;AACjF,oFAAoF;AAKpF,OAAO,EAAE,iCAAiC,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAA6B,MAAM,aAAa,CAAC;AA2D/F;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAsB,EACtB,OAAgB,EAChB,QAAkB,EAClB,IAA0B;IAE1B,MAAM,MAAM,GAAG,mBAAmB,CAChC,iCAAiC,CAAC,QAAQ,EAAE;QAC1C,OAAO;QACP,GAAG,CAAC,IAAI,EAAE,oBAAoB,KAAK,SAAS;YAC1C,CAAC,CAAC,EAAE,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,EAAE;YACrD,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,IAAI,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5D,CAAC,EACF,IAAI,EAAE,OAAO,CACd,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC;QACxB,0EAA0E;QAC1E,2EAA2E;QAC3E,2EAA2E;QAC3E,0EAA0E;QAC1E,GAAG,gBAAgB,CAAC,MAAM,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC5D,MAAM;QACN,OAAO;QACP,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE;QACxB,GAAG,CAAC,IAAI,EAAE,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjF,CAAC,CAAC;IACH,OAAO;QACL,GAAG,MAAM;QACT,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,eAAe,EAAE,MAAM,CAAC,eAAe;KACxC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,EAAmC,EACnC,OAAgB,EAChB,QAAkB,EAClB,IAA0B;IAE1B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC7C,OAAO,sBAAsB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AACjE,CAAC"}
@@ -47,15 +47,51 @@ export function renderPostgres(changes) {
47
47
  }
48
48
  // Down runs in reverse order (so creates undo correctly w.r.t. FKs).
49
49
  return {
50
- up: upStmts.join("\n\n"),
50
+ up: [...createSchemaStmts(sorted), ...upStmts].join("\n\n"),
51
51
  down: [...downStmts].reverse().join("\n\n"),
52
52
  recreatedTables: new Set(), // postgres alters in place; no recreate-and-copy
53
53
  };
54
54
  }
55
+ /**
56
+ * `CREATE SCHEMA IF NOT EXISTS` for every non-default schema this migration creates
57
+ * an object in, ahead of everything else it emits.
58
+ *
59
+ * A chain must be appliable to a VIRGIN database (#313), and `CREATE TABLE "s"."x"`
60
+ * fails there unless `s` exists — yet `CREATE SCHEMA` was emitted nowhere in either
61
+ * emitter, only by the ledger's own setup. So an `@schema` project's chain could
62
+ * never be replayed, and the first `apply-pending` against a fresh CI database died.
63
+ *
64
+ * VIEWS count, not only tables: a first migration that creates only a view in a
65
+ * non-default schema fails identically. A `create-view` carries the schema in two
66
+ * places and the change's own key wins, matching `renderCreateView(c.view, c.schema)`.
67
+ *
68
+ * `IF NOT EXISTS` because a later migration in the same chain, or an operator, may
69
+ * have created it already. Sorted so output is deterministic — the committed snapshot
70
+ * and the golden tests depend on that. Deliberately NOT dropped in `down`: the schema
71
+ * may hold objects this tool does not own and cannot restore.
72
+ */
73
+ function createSchemaStmts(sorted) {
74
+ const schemas = new Set();
75
+ for (const c of sorted) {
76
+ const s = c.kind === "create-table" ? c.table.schema
77
+ : c.kind === "create-view" ? (c.schema ?? c.view.schema)
78
+ : undefined;
79
+ if (s !== undefined && s !== DEFAULT_DB_SCHEMA_POSTGRES)
80
+ schemas.add(s);
81
+ }
82
+ return [...schemas].sort().map((s) => `CREATE SCHEMA IF NOT EXISTS ${quote(s)};`);
83
+ }
55
84
  function renderUp(c) {
56
85
  switch (c.kind) {
57
86
  case "create-table": return renderCreateTable(c.table);
58
- case "drop-table": return `DROP TABLE ${quoteQualified(c.table, c.schema)};`;
87
+ // #313 — every FORWARD drop is `IF EXISTS`. A committed chain must apply to a
88
+ // VIRGIN database, and the diff legitimately proposes dropping an object that
89
+ // exists in the live DB but was never created by any migration in the chain (a
90
+ // table another tool owns, say). Bare, that statement kills the replay with
91
+ // `table "x" does not exist`. The DOWN renderer below is deliberately NOT
92
+ // guarded: `rollbackTo` runs down.sql and the ledger delete in ONE transaction,
93
+ // so a no-op down would still record the rollback as done.
94
+ case "drop-table": return `DROP TABLE IF EXISTS ${quoteQualified(c.table, c.schema)};`;
59
95
  case "rename-table": return `ALTER TABLE ${quoteQualified(c.from, c.schema)} RENAME TO ${quote(c.to)};`;
60
96
  case "add-column": {
61
97
  const base = `ALTER TABLE ${quoteQualified(c.table, c.schema)} ADD COLUMN ${renderColumn(c.column)};`;
@@ -83,18 +119,37 @@ function renderUp(c) {
83
119
  // descriptor (both diff producers populate it), which is where the marker lives.
84
120
  // Matters broadly, not marginally: Drizzle's `unique()` emits constraints, so every
85
121
  // schema adopted from Drizzle has constraint-backed unique indexes.
122
+ // Both arms carry the #313 `IF EXISTS`: they are two renderings of the SAME
123
+ // `drop-index` change, and guarding one would leave the change kind half-covered.
124
+ // The constraint-backed arm ALSO guards the enclosing `ALTER TABLE` (not just
125
+ // the constraint name) — see the `drop-fk`/`drop-check` comment below for why.
86
126
  case "drop-index":
87
127
  return c.restore?.constraint !== undefined
88
- ? `ALTER TABLE ${quoteQualified(c.table, c.schema)} DROP CONSTRAINT ${quote(c.index)};`
89
- : `DROP INDEX ${quoteIndexQualified(c.index, c.schema)};`;
128
+ ? `ALTER TABLE IF EXISTS ${quoteQualified(c.table, c.schema)} DROP CONSTRAINT IF EXISTS ${quote(c.index)};`
129
+ : `DROP INDEX IF EXISTS ${quoteIndexQualified(c.index, c.schema)};`;
90
130
  case "add-fk": return renderAddFk(c.table, c.schema, c.fk);
91
- case "drop-fk": return `ALTER TABLE ${quoteQualified(c.table, c.schema)} DROP CONSTRAINT ${quote(c.fk)};`;
92
- // add-check / drop-check are declared but NOT yet produced by the diff
93
- // checks are create-time-only (inlined in CREATE TABLE via renderCreateTable).
94
- // These arms exist for future existing-table CHECK evolution support, mirroring
95
- // the create-view/drop-view "declared, not yet produced" pattern.
131
+ // #313 (constraint-level): `DROP CONSTRAINT IF EXISTS` alone only guards the
132
+ // constraint NAME Postgres still requires the TABLE to exist to parse an
133
+ // `ALTER TABLE` at all, so a table another tool owns (never created by any
134
+ // migration in this chain) still killed the replay with `relation "x" does
135
+ // not exist`. Postgres supports `ALTER TABLE IF EXISTS` directly; using it
136
+ // closes the gap the same way `DROP TABLE IF EXISTS` above already does.
137
+ case "drop-fk": return `ALTER TABLE IF EXISTS ${quoteQualified(c.table, c.schema)} DROP CONSTRAINT IF EXISTS ${quote(c.fk)};`;
138
+ // `drop-check` IS produced by the diff — diff/index.ts:579 and :592 both push it,
139
+ // and an evolved `field.enum @values` is a live producer. (A comment here used to
140
+ // claim these arms were unreachable "declared, not yet produced" stubs; that was
141
+ // false, and two tests already asserted the emitted statement.) `add-check` is the
142
+ // paired ADD and rides the same passes.
143
+ //
144
+ // `drop-fk`/`drop-check` are guarded on Postgres ONLY, and that is not a dialect
145
+ // split: SQLite emits no standalone statement for either kind — `renderUpNative`
146
+ // throws, because SQLite constraints are create-time-only and inline, so the change
147
+ // folds into a table recreate that rebuilds from the EXPECTED descriptor and never
148
+ // references the dropped constraint. SQLite is already replay-safe by construction;
149
+ // guarding Postgres makes the two dialects agree.
96
150
  case "add-check": return `ALTER TABLE ${quoteQualified(c.table, c.schema)} ADD CONSTRAINT ${quote(c.check.name)} CHECK (${c.check.expression});`;
97
- case "drop-check": return `ALTER TABLE ${quoteQualified(c.table, c.schema)} DROP CONSTRAINT ${quote(c.check)};`;
151
+ // Same `ALTER TABLE IF EXISTS` gap as `drop-fk` above.
152
+ case "drop-check": return `ALTER TABLE IF EXISTS ${quoteQualified(c.table, c.schema)} DROP CONSTRAINT IF EXISTS ${quote(c.check)};`;
98
153
  case "create-view": return renderCreateView(c.view, c.schema, /* orReplace */ false);
99
154
  case "drop-view": return renderDropView(c);
100
155
  case "replace-view": return renderCreateView(c.view, c.schema, /* orReplace */ true);
@@ -353,8 +408,10 @@ function renderViewComment(qualifiedView, comment) {
353
408
  function renderDropView(c) {
354
409
  const qualified = quoteQualifiedView(c.view, c.schema);
355
410
  const dependents = c.dependents ?? [];
411
+ // #313 `IF EXISTS` on both forms — this is the FORWARD renderer. `renderRestoreView`
412
+ // below stays bare: it is reached only from `renderDown`.
356
413
  if (dependents.length === 0)
357
- return `DROP VIEW ${qualified};`;
414
+ return `DROP VIEW IF EXISTS ${qualified};`;
358
415
  const listed = dependents
359
416
  .map((d) => `-- ${d.schema}.${d.name} (${d.relkind === "m" ? "materialized view" : "view"})`)
360
417
  .join("\n");
@@ -366,7 +423,7 @@ function renderDropView(c) {
366
423
  "-- restore them:",
367
424
  listed,
368
425
  rule,
369
- `DROP VIEW ${qualified} CASCADE;`,
426
+ `DROP VIEW IF EXISTS ${qualified} CASCADE;`,
370
427
  ].join("\n");
371
428
  }
372
429
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"postgres.js","sourceRoot":"","sources":["../../src/emit/postgres.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postgres.js","sourceRoot":"","sources":["../../src/emit/postgres.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/emit/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAAE,UAAU,EAAoB,eAAe,EACrD,eAAe,EAAE,cAAc,EAAE,YAAY,EAAiB,cAAc,EAC7E,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,YAAY;IAAG,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAC;CAAE;AAyD7E,wBAAgB,YAAY,CAC1B,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,cAAc,CAAC,EAAE,cAAc,EAC/B,UAAU,CAAC,EAAE,YAAY,GACxB,UAAU,CAmEZ;AAED,4HAA4H;AAC5H,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAqBzD;AAED,8FAA8F;AAC9F,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,eAAe,GAAG,YAAY,CASnG;AA4ED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,cAAc,GAAG,MAAM,CAK1D;AA6BD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,eAAe,GAAG,MAAM,CAyB5D;AAqFD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,eAAe,GAAG,MAAM,CAoB5E;AAED,6FAA6F;AAC7F,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG3C"}
1
+ {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/emit/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAAE,UAAU,EAAoB,eAAe,EACrD,eAAe,EAAE,cAAc,EAAE,YAAY,EAAiB,cAAc,EAC7E,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,YAAY;IAAG,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAC;CAAE;AAyD7E,wBAAgB,YAAY,CAC1B,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,cAAc,CAAC,EAAE,cAAc,EAC/B,UAAU,CAAC,EAAE,YAAY,GACxB,UAAU,CAmEZ;AAED,4HAA4H;AAC5H,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAqBzD;AAED,8FAA8F;AAC9F,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,eAAe,GAAG,YAAY,CASnG;AAmFD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,cAAc,GAAG,MAAM,CAK1D;AA6BD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,eAAe,GAAG,MAAM,CAyB5D;AAqFD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,eAAe,GAAG,MAAM,CAoB5E;AAED,6FAA6F;AAC7F,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG3C"}
@@ -193,13 +193,20 @@ function renderRecreate(table, tableChanges, newTable) {
193
193
  function renderUpNative(c) {
194
194
  switch (c.kind) {
195
195
  case "create-table": return renderCreateTable(c.table);
196
- case "drop-table": return `DROP TABLE ${quote(c.table)};`;
196
+ // #313 FORWARD drops are `IF EXISTS` so a committed chain applies to a VIRGIN
197
+ // database: the diff legitimately proposes dropping an object present in the live
198
+ // DB that no migration in the chain ever created. `renderDownNative` stays bare
199
+ // (a no-op rollback would still be recorded as done), and so does the
200
+ // recreate-and-copy rebuild's DROP above — that one drops a table the same recipe
201
+ // just INSERT…SELECTed from, where IF EXISTS turns a caught corruption into a
202
+ // silent one.
203
+ case "drop-table": return `DROP TABLE IF EXISTS ${quote(c.table)};`;
197
204
  case "rename-table": return `ALTER TABLE ${quote(c.from)} RENAME TO ${quote(c.to)};`;
198
205
  case "add-column": return `ALTER TABLE ${quote(c.table)} ADD COLUMN ${renderColumnInline(c.column)};`;
199
206
  case "drop-column": return `ALTER TABLE ${quote(c.table)} DROP COLUMN ${quote(c.column)};`;
200
207
  case "rename-column": return `ALTER TABLE ${quote(c.table)} RENAME COLUMN ${quote(c.from)} TO ${quote(c.to)};`;
201
208
  case "add-index": return renderCreateIndex(c.table, c.index);
202
- case "drop-index": return `DROP INDEX ${quote(c.index)};`;
209
+ case "drop-index": return `DROP INDEX IF EXISTS ${quote(c.index)};`;
203
210
  case "add-check":
204
211
  case "drop-check":
205
212
  case "change-column-type":