@metaobjectsdev/migrate-ts 0.20.7-rc.1 → 0.20.8-rc.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.
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/emit/sqlite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/emit/sqlite.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -24,7 +24,7 @@ export type { WriteMigrationD1Options, WriteMigrationD1Result } from "./write-mi
24
24
  export { normalizeViewSql, viewSqlEquals } from "./view-sql-compare.js";
25
25
  export { renderD1 } from "./emit/d1.js";
26
26
  export { applyD1SafetyPass, D1UnsupportedStatementError } from "./emit/d1-safety-pass.js";
27
- export { findReferencedRebuilds, D1ReferencedTableRebuildError } from "./emit/d1-fk-refuse.js";
27
+ export { findReferencedRebuilds, D1ReferencedTableRebuildError, D1CyclicForeignKeyError } from "./emit/d1-fk-refuse.js";
28
28
  export type { D1RebuildRefusal } from "./emit/d1-fk-refuse.js";
29
29
  export { introspectD1, type D1Runner, type IntrospectD1Options } from "./introspect/d1.js";
30
30
  export { ensureLedger, recordApplied, deleteApplied, appliedNames, appliedRecords, recordBaseline, baselineRecord, BASELINE_NAME, MIGRATIONS_TABLE, DEFAULT_LEDGER_SCHEMA, type LedgerRow, type LedgerOptions, type LedgerDialect, } from "./apply/ledger.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -36,7 +36,7 @@ export { normalizeViewSql, viewSqlEquals } from "./view-sql-compare.js";
36
36
  // independently without going through emit().
37
37
  export { renderD1 } from "./emit/d1.js";
38
38
  export { applyD1SafetyPass, D1UnsupportedStatementError } from "./emit/d1-safety-pass.js";
39
- export { findReferencedRebuilds, D1ReferencedTableRebuildError } from "./emit/d1-fk-refuse.js";
39
+ export { findReferencedRebuilds, D1ReferencedTableRebuildError, D1CyclicForeignKeyError } from "./emit/d1-fk-refuse.js";
40
40
  // D1 introspection
41
41
  export { introspectD1 } from "./introspect/d1.js";
42
42
  // Migration-history ledger + ordered transactional apply (postgres/sqlite)
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,EAAE;AACF,gEAAgE;AAChE,yEAAyE;AACzE,sEAAsE;AACtE,2BAA2B;AAC3B,EAAE;AACF,2DAA2D;AAE3D,qBAAqB;AACrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzF,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAA4B,MAAM,kBAAkB,CAAC;AAClG,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE1E,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,0DAA0D;AAC1D,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAGvE,SAAS;AACT,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAE3E,oEAAoE;AACpE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAiB1D,+EAA+E;AAC/E,gFAAgF;AAChF,mFAAmF;AACnF,4EAA4E;AAC5E,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAExE,oCAAoC;AACpC,wEAAwE;AACxE,yEAAyE;AACzE,8CAA8C;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAC1F,OAAO,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AAG/F,mBAAmB;AACnB,OAAO,EAAE,YAAY,EAA2C,MAAM,oBAAoB,CAAC;AAE3F,2EAA2E;AAC3E,OAAO,EACL,YAAY,EACZ,aAAa,EACb,aAAa,EACb,YAAY,EACZ,cAAc,EACd,cAAc,EACd,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,qBAAqB,GAItB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,YAAY,EACZ,UAAU,GAKX,MAAM,kBAAkB,CAAC;AAE1B,0EAA0E;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,0BAA0B;AAC1B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,GAGjB,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,EAAE;AACF,gEAAgE;AAChE,yEAAyE;AACzE,sEAAsE;AACtE,2BAA2B;AAC3B,EAAE;AACF,2DAA2D;AAE3D,qBAAqB;AACrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzF,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAA4B,MAAM,kBAAkB,CAAC;AAClG,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE1E,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,0DAA0D;AAC1D,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAGvE,SAAS;AACT,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAE3E,oEAAoE;AACpE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAiB1D,+EAA+E;AAC/E,gFAAgF;AAChF,mFAAmF;AACnF,4EAA4E;AAC5E,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAExE,oCAAoC;AACpC,wEAAwE;AACxE,yEAAyE;AACzE,8CAA8C;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAC1F,OAAO,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAGxH,mBAAmB;AACnB,OAAO,EAAE,YAAY,EAA2C,MAAM,oBAAoB,CAAC;AAE3F,2EAA2E;AAC3E,OAAO,EACL,YAAY,EACZ,aAAa,EACb,aAAa,EACb,YAAY,EACZ,cAAc,EACd,cAAc,EACd,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,qBAAqB,GAItB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,YAAY,EACZ,UAAU,GAKX,MAAM,kBAAkB,CAAC;AAE1B,0EAA0E;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,0BAA0B;AAC1B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,GAGjB,MAAM,sBAAsB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metaobjectsdev/migrate-ts",
3
- "version": "0.20.7-rc.1",
3
+ "version": "0.20.8-rc.1",
4
4
  "description": "Schema migration tooling for MetaObjects: diff metadata vs DB and emit SQL for Postgres and SQLite.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -45,7 +45,7 @@
45
45
  },
46
46
  "dependencies": {
47
47
  "@iarna/toml": "^2.2.5",
48
- "@metaobjectsdev/metadata": "0.20.7-rc.1"
48
+ "@metaobjectsdev/metadata": "0.20.8-rc.1"
49
49
  },
50
50
  "peerDependencies": {
51
51
  "kysely": ">=0.27.0"
@@ -0,0 +1,134 @@
1
+ import type { Change, SchemaSnapshot, TableDescriptor } from "../types.js";
2
+ import {
3
+ renderCreateTable,
4
+ renderCreateIndex,
5
+ computeCarryColumns,
6
+ changeTable,
7
+ quote,
8
+ } from "./sqlite.js";
9
+ import { buildFkEdges, unionEdges, affectedSet, topoOrder } from "./fk-graph.js";
10
+
11
+ /**
12
+ * Prefix for the transient rebuild tables the cascade recipe creates
13
+ * (`__f_<table>`). Distinct from SQLite's own `__new_<table>` recreate temp so
14
+ * the two recipes never collide.
15
+ */
16
+ const TEMP_TABLE_PREFIX = "__f_";
17
+
18
+ /**
19
+ * Result of the D1 FK-cascade emitter: either a validated cascade (with the
20
+ * affected-table set so the dispatcher can partition the remaining changes) or a
21
+ * refusal because the affected tables form a foreign-key cycle.
22
+ */
23
+ export type D1CascadeResult =
24
+ | { up: string; downWarning: string; affected: Set<string> }
25
+ | { refuseCycle: string[] };
26
+
27
+ /**
28
+ * Emit the D1-legal FK-cascade rebuild for a set of recreated tables and every
29
+ * table transitively referencing them.
30
+ *
31
+ * On remote D1 the plain SQLite recreate-and-copy recipe fails: its `PRAGMA
32
+ * foreign_keys = OFF` is a no-op inside D1's implicit transaction, so dropping a
33
+ * referenced table raises "FOREIGN KEY constraint failed". This emitter instead
34
+ * rebuilds the WHOLE affected set inside one implicit transaction, deferring FK
35
+ * enforcement to commit via `PRAGMA defer_foreign_keys = ON`:
36
+ *
37
+ * 1. `PRAGMA defer_foreign_keys = ON;`
38
+ * 2. CREATE `__f_<t>` for each affected `t` (FKs whose target is also affected
39
+ * are rewritten to the target's temp name).
40
+ * 3. INSERT the carried columns from each old table into its temp.
41
+ * 4. DROP the old tables referrers-first (reverse topological order).
42
+ * 5. RENAME each temp to the real name parents-first (topological order),
43
+ * recreating that table's indexes immediately after its rename.
44
+ *
45
+ * No `BEGIN/COMMIT` and no `foreign_keys = OFF/ON` bracket: D1 runs the file in
46
+ * one implicit transaction and the safety pass would strip the former anyway.
47
+ *
48
+ * `renderD1` only calls this when `actualSchema` is present, so it is required.
49
+ */
50
+ export function emitD1Cascade(
51
+ changes: readonly Change[],
52
+ expectedSchema: SchemaSnapshot,
53
+ actualSchema: SchemaSnapshot,
54
+ recreatedTables: ReadonlySet<string>,
55
+ ): D1CascadeResult {
56
+ const edges = unionEdges(buildFkEdges(expectedSchema), buildFkEdges(actualSchema));
57
+ const affectedAll = affectedSet(recreatedTables, edges);
58
+
59
+ // Restrict to tables that EXIST in the actual DB. `affectedSet` walks the
60
+ // expected edges too, so a brand-new table (created this migration) with an FK
61
+ // into a rebuilt table is pulled in as a referrer — but it cannot be
62
+ // INSERT...SELECTed or DROPped. New tables flow through the native "rest" path,
63
+ // emitted after the cascade so the renamed parent already exists.
64
+ const actualNames = new Set(actualSchema.tables.map((t) => t.name));
65
+ const affected = new Set<string>([...affectedAll].filter((t) => actualNames.has(t)));
66
+
67
+ const { order, cycle } = topoOrder(affected, edges);
68
+ if (cycle) return { refuseCycle: cycle };
69
+
70
+ const expectedByName = new Map(expectedSchema.tables.map((t) => [t.name, t] as const));
71
+ const expectedTable = (name: string): TableDescriptor => {
72
+ const d = expectedByName.get(name);
73
+ if (!d) throw new Error(`expectedSchema missing table "${name}" needed for D1 FK-cascade`);
74
+ return d;
75
+ };
76
+ const temp = (name: string): string => TEMP_TABLE_PREFIX + name;
77
+
78
+ const stmts: string[] = [];
79
+
80
+ // Defer FK enforcement to commit — the D1-legal alternative to the (no-op) OFF bracket.
81
+ stmts.push("PRAGMA defer_foreign_keys = ON;");
82
+
83
+ // CREATE temps. FK targets inside the affected set are rewritten to their temp
84
+ // name (forward-refs are fine — SQLite resolves FK targets lazily); targets
85
+ // outside the set keep their real name.
86
+ for (const t of order) {
87
+ const src = expectedTable(t);
88
+ const clone: TableDescriptor = {
89
+ ...src,
90
+ name: temp(t),
91
+ foreignKeys: src.foreignKeys.map((fk) =>
92
+ affected.has(fk.refTable) ? { ...fk, refTable: temp(fk.refTable) } : fk,
93
+ ),
94
+ };
95
+ stmts.push(renderCreateTable(clone));
96
+ }
97
+
98
+ // INSERT carried columns. A referrer-only table has no changes → carry every
99
+ // expected column (computeCarryColumns([], …)).
100
+ for (const t of order) {
101
+ const tableChanges = changes.filter((c) => changeTable(c) === t);
102
+ const { insertCols, selectCols } = computeCarryColumns(tableChanges, expectedTable(t));
103
+ if (insertCols.length > 0) {
104
+ stmts.push(
105
+ `INSERT INTO ${quote(temp(t))} (${insertCols.map(quote).join(", ")}) ` +
106
+ `SELECT ${selectCols.map(quote).join(", ")} FROM ${quote(t)};`,
107
+ );
108
+ }
109
+ }
110
+
111
+ // DROP referrers-first (reverse topological order).
112
+ for (const t of [...order].reverse()) {
113
+ stmts.push(`DROP TABLE ${quote(t)};`);
114
+ }
115
+
116
+ // RENAME parents-first; recreate each table's indexes immediately after rename.
117
+ for (const t of order) {
118
+ stmts.push(`ALTER TABLE ${quote(temp(t))} RENAME TO ${quote(t)};`);
119
+ for (const ix of expectedTable(t).indexes) {
120
+ stmts.push(renderCreateIndex(t, ix));
121
+ }
122
+ }
123
+
124
+ const up = stmts.join("\n\n");
125
+
126
+ // Best-effort down, mirroring renderRecreate's WARNING block.
127
+ const downWarning = [
128
+ `-- WARNING: SQLite recreate-and-copy down migration is best-effort.`,
129
+ `-- Reverse the column type/nullable/default changes by hand if needed.`,
130
+ `-- Dropped data cannot be restored.`,
131
+ ].join("\n");
132
+
133
+ return { up, downWarning, affected };
134
+ }
@@ -37,6 +37,33 @@ export class D1ReferencedTableRebuildError extends Error {
37
37
  }
38
38
  }
39
39
 
40
+ /**
41
+ * Thrown when a D1 FK-cascade rebuild (#241) cannot be ordered because the
42
+ * affected tables form a multi-table foreign-key cycle. Unlike the acyclic case
43
+ * (which the cascade emitter rebuilds via `PRAGMA defer_foreign_keys = ON`), a
44
+ * cycle has no parents-first order, so the rebuild is refused at generation time.
45
+ */
46
+ export class D1CyclicForeignKeyError extends Error {
47
+ constructor(public readonly cycle: string[]) {
48
+ super(formatCycleMessage(cycle));
49
+ this.name = "D1CyclicForeignKeyError";
50
+ }
51
+ }
52
+
53
+ function formatCycleMessage(cycle: string[]): string {
54
+ const members = cycle.map((n) => `"${n}"`).join(", ");
55
+ return (
56
+ `Cannot rebuild the following table(s) on Cloudflare D1 — their foreign keys form a ` +
57
+ `cycle: ${members}.\n\n` +
58
+ `The FK-cascade rebuild recipe recreates tables parents-first, which is impossible ` +
59
+ `when tables reference each other in a cycle. Even with ` +
60
+ "`PRAGMA defer_foreign_keys = ON`" +
61
+ ` the DROP/RENAME sequence cannot be ordered to keep every reference valid. To apply ` +
62
+ `this on D1, hand-write the migration (drop the foreign key on one side of the cycle, ` +
63
+ `rebuild the tables, then restore it), or break the cycle in your metadata.`
64
+ );
65
+ }
66
+
40
67
  function formatMessage(refusals: D1RebuildRefusal[]): string {
41
68
  const lines = refusals.map((r) => {
42
69
  const refs = r.referencedBy.map((n) => `"${n}"`).join(", ");
package/src/emit/d1.ts CHANGED
@@ -1,31 +1,82 @@
1
1
  import type { Change, EmitResult, SchemaSnapshot, SnapshotMeta } from "../types.js";
2
- import { renderSqlite } from "./sqlite.js";
2
+ import { renderSqlite, changeTable } from "./sqlite.js";
3
3
  import { applyD1SafetyPass } from "./d1-safety-pass.js";
4
- import { findReferencedRebuilds, D1ReferencedTableRebuildError } from "./d1-fk-refuse.js";
4
+ import {
5
+ findReferencedRebuilds,
6
+ D1ReferencedTableRebuildError,
7
+ D1CyclicForeignKeyError,
8
+ } from "./d1-fk-refuse.js";
9
+ import { buildFkEdges, unionEdges } from "./fk-graph.js";
10
+ import { emitD1Cascade } from "./d1-cascade.js";
11
+
12
+ const EMPTY_SCHEMA: SchemaSnapshot = { tables: [], views: [] };
5
13
 
6
14
  export function renderD1(
7
15
  changes: readonly Change[],
8
16
  expectedSchema?: SchemaSnapshot,
9
17
  actualMeta?: SnapshotMeta,
18
+ /** The actual (introspected) DB schema — enables the #241 FK-cascade rebuild. */
19
+ actualSchema?: SchemaSnapshot,
10
20
  ): EmitResult {
11
21
  const sqliteResult = renderSqlite(changes, expectedSchema, actualMeta);
12
22
 
13
- // #226: a rebuild (recreate-and-copy) of a table referenced by a foreign key cannot
14
- // apply on remote D1 the recipe's `PRAGMA foreign_keys = OFF` is a no-op inside
15
- // D1's implicit transaction, so `DROP TABLE <referenced>` fails. Refuse at generation
16
- // time rather than emit SQL that fails silently against production. renderSqlite has
17
- // already guaranteed expectedSchema is present when recreatedTables is non-empty.
18
- if (sqliteResult.recreatedTables.size > 0) {
19
- const refusals = findReferencedRebuilds(
20
- sqliteResult.recreatedTables,
21
- expectedSchema ?? { tables: [], views: [] },
23
+ // Trigger detection: is any recreated table the target of a foreign key in the
24
+ // expected OR actual schema (a self-reference counts)? Only such rebuilds are
25
+ // un-appliable on D1 the recipe's `PRAGMA foreign_keys = OFF` is a no-op
26
+ // inside D1's implicit transaction, so `DROP TABLE <referenced>` fails (#226).
27
+ const edges = unionEdges(
28
+ buildFkEdges(expectedSchema ?? EMPTY_SCHEMA),
29
+ actualSchema ? buildFkEdges(actualSchema) : new Map<string, Set<string>>(),
30
+ );
31
+ const isReferenced = (t: string): boolean => {
32
+ for (const parents of edges.values()) {
33
+ if (parents.has(t)) return true;
34
+ }
35
+ return false;
36
+ };
37
+ const referenced = [...sqliteResult.recreatedTables].filter(isReferenced);
38
+
39
+ // No referenced rebuild → byte-identical to the pre-#241 path.
40
+ if (referenced.length === 0) {
41
+ return {
42
+ up: applyD1SafetyPass(sqliteResult.up),
43
+ down: applyD1SafetyPass(sqliteResult.down),
44
+ recreatedTables: sqliteResult.recreatedTables,
45
+ };
46
+ }
47
+
48
+ // A referenced rebuild exists. Without the actual schema we cannot prove a
49
+ // cascade is safe, so refuse exactly as #226 does — never emit an unproven one.
50
+ if (actualSchema === undefined) {
51
+ throw new D1ReferencedTableRebuildError(
52
+ findReferencedRebuilds(sqliteResult.recreatedTables, expectedSchema ?? EMPTY_SCHEMA),
22
53
  );
23
- if (refusals.length > 0) throw new D1ReferencedTableRebuildError(refusals);
24
54
  }
25
55
 
56
+ // recreatedTables non-empty ⇒ renderSqlite already guaranteed expectedSchema.
57
+ const cascade = emitD1Cascade(changes, expectedSchema!, actualSchema, sqliteResult.recreatedTables);
58
+ if ("refuseCycle" in cascade) {
59
+ throw new D1CyclicForeignKeyError(cascade.refuseCycle);
60
+ }
61
+
62
+ // Splice: the affected set is rebuilt by the cascade; every other change flows
63
+ // through the native path, emitted AFTER the cascade so renamed parents exist
64
+ // before any native CREATE TABLE referencing them. `defer_foreign_keys = ON`
65
+ // persists across the whole implicit transaction, so FK checks defer to commit
66
+ // where the final state is consistent.
67
+ const { up: cascadeUp, downWarning, affected } = cascade;
68
+ const nonAffected = changes.filter((c) => {
69
+ const t = changeTable(c);
70
+ return !(t !== undefined && affected.has(t));
71
+ });
72
+ const rest = renderSqlite(nonAffected, expectedSchema, actualMeta);
73
+
74
+ const up = [cascadeUp, rest.up].filter((s) => s.length > 0).join("\n\n");
75
+ const down = [rest.down, downWarning].filter((s) => s.length > 0).join("\n\n");
76
+
26
77
  return {
27
- up: applyD1SafetyPass(sqliteResult.up),
28
- down: applyD1SafetyPass(sqliteResult.down),
29
- recreatedTables: sqliteResult.recreatedTables,
78
+ up: applyD1SafetyPass(up),
79
+ down: applyD1SafetyPass(down),
80
+ recreatedTables: new Set([...affected, ...rest.recreatedTables]),
30
81
  };
31
82
  }
@@ -0,0 +1,125 @@
1
+ import type { SchemaSnapshot } from "../types.js";
2
+
3
+ /**
4
+ * Pure, I/O-free graph core the D1 FK-cascade emitter orders rebuilds by. Edges
5
+ * point child→parent (a table → the table(s) its foreign keys reference),
6
+ * self-loops included for a self-referential table.
7
+ */
8
+
9
+ /** Builds child→parent FK edges from a schema. Self-loops included. */
10
+ export function buildFkEdges(schema: SchemaSnapshot): Map<string, Set<string>> {
11
+ const edges = new Map<string, Set<string>>();
12
+ for (const t of schema.tables) {
13
+ const parents = new Set<string>();
14
+ for (const fk of t.foreignKeys) {
15
+ parents.add(fk.refTable);
16
+ }
17
+ edges.set(t.name, parents);
18
+ }
19
+ return edges;
20
+ }
21
+
22
+ /** Merges two edge maps into a new one; neither input is mutated. */
23
+ export function unionEdges(
24
+ a: Map<string, Set<string>>,
25
+ b: Map<string, Set<string>>,
26
+ ): Map<string, Set<string>> {
27
+ const merged = new Map<string, Set<string>>();
28
+ for (const [node, parents] of a) {
29
+ merged.set(node, new Set(parents));
30
+ }
31
+ for (const [node, parents] of b) {
32
+ const existing = merged.get(node);
33
+ if (existing) {
34
+ for (const p of parents) existing.add(p);
35
+ } else {
36
+ merged.set(node, new Set(parents));
37
+ }
38
+ }
39
+ return merged;
40
+ }
41
+
42
+ /**
43
+ * `recreated` plus every transitive *referrer* — walk edges backwards: any
44
+ * table with an edge into the current set (i.e. it references a member of the
45
+ * set) joins the set, repeated to a fixpoint.
46
+ */
47
+ export function affectedSet(
48
+ recreated: ReadonlySet<string>,
49
+ edges: Map<string, Set<string>>,
50
+ ): Set<string> {
51
+ const affected = new Set<string>(recreated);
52
+ let changed = true;
53
+ while (changed) {
54
+ changed = false;
55
+ for (const [node, parents] of edges) {
56
+ if (affected.has(node)) continue;
57
+ for (const p of parents) {
58
+ if (affected.has(p)) {
59
+ affected.add(node);
60
+ changed = true;
61
+ break;
62
+ }
63
+ }
64
+ }
65
+ }
66
+ return affected;
67
+ }
68
+
69
+ /**
70
+ * Kahn's algorithm over `nodes`, treating an edge `child→parent` as "parent
71
+ * must come before child". Self-loops (`x→x`) and edges whose target is not
72
+ * in `nodes` are dropped before ordering. `order` is parents-first. If nodes
73
+ * remain when the queue empties, the sort cannot complete — those remaining
74
+ * nodes (a multi-node cycle) are returned as `cycle` instead.
75
+ */
76
+ export function topoOrder(
77
+ nodes: Set<string>,
78
+ edges: Map<string, Set<string>>,
79
+ ): { order: string[]; cycle: string[] | null } {
80
+ // childOf(parent) = children within `nodes` that must be emitted after `parent`.
81
+ const childrenOf = new Map<string, Set<string>>();
82
+ const inDegree = new Map<string, number>();
83
+ for (const n of nodes) {
84
+ childrenOf.set(n, new Set());
85
+ inDegree.set(n, 0);
86
+ }
87
+ for (const n of nodes) {
88
+ const parents = edges.get(n) ?? new Set<string>();
89
+ for (const p of parents) {
90
+ if (p === n) continue; // drop self-loop
91
+ if (!nodes.has(p)) continue; // drop edge leaving `nodes`
92
+ const kids = childrenOf.get(p);
93
+ if (kids === undefined) continue;
94
+ if (kids.has(n)) continue; // already recorded (dedupe parallel edges)
95
+ kids.add(n);
96
+ inDegree.set(n, (inDegree.get(n) ?? 0) + 1);
97
+ }
98
+ }
99
+
100
+ // Stable order: iterate `nodes` in insertion order for the initial queue.
101
+ const queue: string[] = [];
102
+ for (const n of nodes) {
103
+ if (inDegree.get(n) === 0) queue.push(n);
104
+ }
105
+
106
+ const order: string[] = [];
107
+ let head = 0;
108
+ while (head < queue.length) {
109
+ const n = queue[head++];
110
+ if (n === undefined) continue;
111
+ order.push(n);
112
+ for (const child of childrenOf.get(n) ?? []) {
113
+ const remaining = (inDegree.get(child) ?? 0) - 1;
114
+ inDegree.set(child, remaining);
115
+ if (remaining === 0) queue.push(child);
116
+ }
117
+ }
118
+
119
+ if (order.length < nodes.size) {
120
+ const remaining = [...nodes].filter((n) => !order.includes(n));
121
+ return { order: [], cycle: remaining };
122
+ }
123
+
124
+ return { order, cycle: null };
125
+ }
package/src/emit/index.ts CHANGED
@@ -20,6 +20,8 @@ export interface EmitOptions {
20
20
  * fall back to recreate-and-copy. Unknown/absent version → assume modern.
21
21
  */
22
22
  actualMeta?: SnapshotMeta;
23
+ /** Used by the d1 cascade emitter to build the actual∪expected FK graph. */
24
+ actualSchema?: SchemaSnapshot;
23
25
  }
24
26
 
25
27
  export function emit(changes: Change[], opts: EmitOptions): EmitResult {
@@ -29,6 +31,6 @@ export function emit(changes: Change[], opts: EmitOptions): EmitResult {
29
31
  switch (opts.dialect) {
30
32
  case "postgres": return renderPostgres(changes);
31
33
  case "sqlite": return renderSqlite(changes, opts.expectedSchema, opts.actualMeta);
32
- case "d1": return renderD1(changes, opts.expectedSchema, opts.actualMeta);
34
+ case "d1": return renderD1(changes, opts.expectedSchema, opts.actualMeta, opts.actualSchema);
33
35
  }
34
36
  }
@@ -4,6 +4,8 @@ import type {
4
4
  } from "../types.js";
5
5
  import type { SqlType } from "../sql-type.js";
6
6
 
7
+ export interface CarryColumns { insertCols: string[]; selectCols: string[]; }
8
+
7
9
  // Stage ordering similar to PG; recreate-and-copy bundles get inserted
8
10
  // at their first triggering change's position in Task 23.
9
11
  const STAGE_ORDER: Record<Change["kind"], number> = {
@@ -106,7 +108,8 @@ export function renderSqlite(
106
108
  };
107
109
  }
108
110
 
109
- function changeTable(c: Change): string | undefined {
111
+ /** The table a change targets, or undefined for view-scoped changes. Exported for the D1 FK-cascade emitter (read-only). */
112
+ export function changeTable(c: Change): string | undefined {
110
113
  switch (c.kind) {
111
114
  case "create-table": return c.table.name;
112
115
  case "drop-table": return c.table;
@@ -129,31 +132,24 @@ function changeTable(c: Change): string | undefined {
129
132
  }
130
133
  }
131
134
 
132
- function renderRecreate(
133
- table: string,
134
- tableChanges: Change[],
135
- newTable: TableDescriptor,
136
- ): { up: string; down: string } {
137
- // Build the column-name remapping: old_name → new_name (for renames).
135
+ /** newTable columns not newly-added, mapped to their old-name SELECT source (for renames). */
136
+ export function computeCarryColumns(tableChanges: Change[], newTable: TableDescriptor): CarryColumns {
138
137
  const renames = new Map<string, string>();
139
- for (const c of tableChanges) {
140
- if (c.kind === "rename-column") renames.set(c.from, c.to);
141
- }
142
-
143
- // Columns added in this migration don't exist in old table — exclude from SELECT.
138
+ for (const c of tableChanges) if (c.kind === "rename-column") renames.set(c.from, c.to);
144
139
  const addedNames = new Set<string>();
145
- for (const c of tableChanges) {
146
- if (c.kind === "add-column") addedNames.add(c.column.name);
147
- }
148
-
149
- // Reverse map: new_name → old_name (for SELECT source column lookup).
140
+ for (const c of tableChanges) if (c.kind === "add-column") addedNames.add(c.column.name);
150
141
  const renamesReverse = new Map<string, string>();
151
142
  for (const [from, to] of renames) renamesReverse.set(to, from);
143
+ const carry = newTable.columns.filter((c) => !addedNames.has(c.name));
144
+ return { insertCols: carry.map((c) => c.name), selectCols: carry.map((c) => renamesReverse.get(c.name) ?? c.name) };
145
+ }
152
146
 
153
- // carryColumns = newTable columns NOT being newly added (they exist in the old table).
154
- const carryColumns = newTable.columns.filter((c) => !addedNames.has(c.name));
155
- const insertCols = carryColumns.map((c) => c.name);
156
- const selectCols = carryColumns.map((c) => renamesReverse.get(c.name) ?? c.name);
147
+ function renderRecreate(
148
+ table: string,
149
+ tableChanges: Change[],
150
+ newTable: TableDescriptor,
151
+ ): { up: string; down: string } {
152
+ const { insertCols, selectCols } = computeCarryColumns(tableChanges, newTable);
157
153
 
158
154
  // Build the new-table CREATE using temp name.
159
155
  const tmp = `__new_${table}`;
@@ -254,7 +250,7 @@ function renderDownNative(c: Change): string {
254
250
  }
255
251
  }
256
252
 
257
- function renderCreateTable(t: TableDescriptor): string {
253
+ export function renderCreateTable(t: TableDescriptor): string {
258
254
  const compositePk = t.primaryKey.length > 1;
259
255
  const colDefs = t.columns.map((c) => {
260
256
  const isSinglePk = !compositePk && t.primaryKey[0] === c.name;
@@ -364,7 +360,7 @@ function renderDefault(d: ColumnDefault, t: SqlType): string {
364
360
  }
365
361
  }
366
362
 
367
- function renderCreateIndex(table: string, ix: IndexDescriptor): string {
363
+ export function renderCreateIndex(table: string, ix: IndexDescriptor): string {
368
364
  const u = ix.unique ? "UNIQUE " : "";
369
365
  // SQLite natively supports expression indexes, per-column DESC, and partial
370
366
  // (WHERE) indexes — render all three. Dropping them is not an option:
@@ -386,7 +382,8 @@ function renderCreateIndex(table: string, ix: IndexDescriptor): string {
386
382
  return `CREATE ${u}INDEX ${quote(ix.name)} ON ${quote(table)} (${keys})${where};`;
387
383
  }
388
384
 
389
- function quote(ident: string): string {
385
+ /** SQLite identifier quoter (`"id"`). Exported for the D1 FK-cascade emitter (read-only). */
386
+ export function quote(ident: string): string {
390
387
  if (ident.includes('"')) throw new Error(`unsafe identifier: ${ident}`);
391
388
  return `"${ident}"`;
392
389
  }
package/src/index.ts CHANGED
@@ -63,7 +63,7 @@ export { normalizeViewSql, viewSqlEquals } from "./view-sql-compare.js";
63
63
  // independently without going through emit().
64
64
  export { renderD1 } from "./emit/d1.js";
65
65
  export { applyD1SafetyPass, D1UnsupportedStatementError } from "./emit/d1-safety-pass.js";
66
- export { findReferencedRebuilds, D1ReferencedTableRebuildError } from "./emit/d1-fk-refuse.js";
66
+ export { findReferencedRebuilds, D1ReferencedTableRebuildError, D1CyclicForeignKeyError } from "./emit/d1-fk-refuse.js";
67
67
  export type { D1RebuildRefusal } from "./emit/d1-fk-refuse.js";
68
68
 
69
69
  // D1 introspection