orez 0.9.6 → 0.9.7
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/cf-deploy/migration.d.ts.map +1 -1
- package/dist/cf-deploy/migration.js +42 -4
- package/dist/cf-deploy/migration.js.map +1 -1
- package/dist/cf-deploy/nativeMigrations.d.ts +4 -0
- package/dist/cf-deploy/nativeMigrations.d.ts.map +1 -1
- package/dist/cf-deploy/nativeMigrations.js +16 -2
- package/dist/cf-deploy/nativeMigrations.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../../src/cf-deploy/migration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAajD,MAAM,WAAW,6BAA6B;IAC5C,EAAE,EAAE,MAAM,CAAA;IACV,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,OAAO,CAAA;QAChB,eAAe,EAAE,MAAM,CAAA;QACvB,OAAO,EAAE,MAAM,CAAA;KAChB,CAAC,CAAA;IACF,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,oCAAoC,GAC5C;IACE,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,MAAM,CAAA;CACtB,GACD;IACE,sEAAsE;IACtE,IAAI,EAAE,QAAQ,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC5D,cAAc,CAAC,EAAE,0BAA0B,EAAE,CAAA;CAC9C,GACD;IACE,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,MAAM,CAAA;IACrB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,cAAc,EAAE,6BAA6B,EAAE,CAAA;IAC/C,OAAO,EAAE,MAAM,CAAA;IACf,sBAAsB,EAAE,OAAO,CAAA;IAC/B,gBAAgB,EAAE,MAAM,CAAA;IACxB,4BAA4B,EAAE,OAAO,CAAA;CACtC,CAAA;AAEL,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,oCAAoC,GAC1C,MAAM,
|
|
1
|
+
{"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../../src/cf-deploy/migration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAajD,MAAM,WAAW,6BAA6B;IAC5C,EAAE,EAAE,MAAM,CAAA;IACV,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,OAAO,CAAA;QAChB,eAAe,EAAE,MAAM,CAAA;QACvB,OAAO,EAAE,MAAM,CAAA;KAChB,CAAC,CAAA;IACF,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,oCAAoC,GAC5C;IACE,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,MAAM,CAAA;CACtB,GACD;IACE,sEAAsE;IACtE,IAAI,EAAE,QAAQ,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC5D,cAAc,CAAC,EAAE,0BAA0B,EAAE,CAAA;CAC9C,GACD;IACE,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,MAAM,CAAA;IACrB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,cAAc,EAAE,6BAA6B,EAAE,CAAA;IAC/C,OAAO,EAAE,MAAM,CAAA;IACf,sBAAsB,EAAE,OAAO,CAAA;IAC/B,gBAAgB,EAAE,MAAM,CAAA;IACxB,4BAA4B,EAAE,OAAO,CAAA;CACtC,CAAA;AAEL,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,oCAAoC,GAC1C,MAAM,CAu3BR"}
|
|
@@ -342,6 +342,44 @@ async function reconcilePhantomLedger(tx, applied) {
|
|
|
342
342
|
let missing = false
|
|
343
343
|
if ((match = /^CREATE TABLE\\s+(?:IF NOT EXISTS\\s+)?[\`"]?(\\w+)/i.exec(sql))) {
|
|
344
344
|
missing = !tables.has(match[1])
|
|
345
|
+
// a ledgered CREATE trusted by NAME can hide a table that predates the
|
|
346
|
+
// CREATE's definition: the table resolves, the CREATE never re-runs, and
|
|
347
|
+
// columns that only exist inside its definition are unreachable — every
|
|
348
|
+
// later index on them then fails the whole run, forever (prod
|
|
349
|
+
// 2026-07-26, 217 wedged namespaces retrying every sweep). converge the
|
|
350
|
+
// live table to the declared column set instead. an empty live column
|
|
351
|
+
// read is no evidence and must not trigger blind ALTERs.
|
|
352
|
+
if (!missing && Array.isArray(item.declaredColumns)) {
|
|
353
|
+
const live = new Set(
|
|
354
|
+
(liveColumns.get(match[1]) || []).map((column) => column.name),
|
|
355
|
+
)
|
|
356
|
+
if (live.size > 0) {
|
|
357
|
+
for (const column of item.declaredColumns) {
|
|
358
|
+
if (!column || typeof column.name !== 'string') continue
|
|
359
|
+
if (live.has(column.name)) continue
|
|
360
|
+
let definition = String(column.definition || '').trim()
|
|
361
|
+
if (!definition) continue
|
|
362
|
+
// sqlite refuses ADD COLUMN for these shapes; leave them to
|
|
363
|
+
// assertExpectedSchema, which reports the namespace loudly.
|
|
364
|
+
if (/\\bPRIMARY KEY\\b|\\bUNIQUE\\b/i.test(definition)) continue
|
|
365
|
+
if (/\\bNOT NULL\\b/i.test(definition) && /\\bREFERENCES\\b/i.test(definition)) continue
|
|
366
|
+
if (/\\bNOT NULL\\b/i.test(definition) && !/\\bDEFAULT\\b/i.test(definition)) {
|
|
367
|
+
// assertExpectedSchema compares name, type and NOT NULL but not
|
|
368
|
+
// defaults, so a zero default converges without a false mismatch.
|
|
369
|
+
definition += /\\b(?:INT|INTEGER|REAL|NUMERIC|BOOLEAN|FLOAT|DOUBLE|DECIMAL)\\b/i.test(definition)
|
|
370
|
+
? ' DEFAULT 0'
|
|
371
|
+
: " DEFAULT ''"
|
|
372
|
+
}
|
|
373
|
+
console.warn(
|
|
374
|
+
'[orez-migrations] converging ' + match[1] + '.' + column.name +
|
|
375
|
+
' from ledgered ' + baseId,
|
|
376
|
+
)
|
|
377
|
+
await tx.exec(
|
|
378
|
+
'ALTER TABLE ' + quoteIdentifier(match[1]) + ' ADD COLUMN ' + definition,
|
|
379
|
+
)
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
}
|
|
345
383
|
} else if ((match = /^CREATE (?:UNIQUE )?INDEX\\s+(?:IF NOT EXISTS\\s+)?[\`"]?(\\w+)[\`"]?\\s+ON\\s+[\`"]?(\\w+)/i.exec(sql))) {
|
|
346
384
|
// the index set was sampled BEFORE this pass drops and rebuilds <t>, so
|
|
347
385
|
// "the index exists" is stale evidence for any table a resurrecting
|
|
@@ -577,12 +615,12 @@ async function liveSchemaSummary(client) {
|
|
|
577
615
|
// instance would be read by another.
|
|
578
616
|
export async function ${runCloudflareMigrations}({
|
|
579
617
|
schemaOnly = false,
|
|
580
|
-
|
|
618
|
+
registrationOnly = false,
|
|
581
619
|
instance = 'singleton',
|
|
582
620
|
client: providedClient,
|
|
583
621
|
} = {}) {
|
|
584
|
-
if (schemaOnly &&
|
|
585
|
-
throw new Error('schemaOnly and
|
|
622
|
+
if (schemaOnly && registrationOnly) {
|
|
623
|
+
throw new Error('schemaOnly and registrationOnly are mutually exclusive')
|
|
586
624
|
}
|
|
587
625
|
let client = providedClient
|
|
588
626
|
if (!client) {
|
|
@@ -592,7 +630,7 @@ export async function ${runCloudflareMigrations}({
|
|
|
592
630
|
}
|
|
593
631
|
client = createClient(instance)
|
|
594
632
|
}
|
|
595
|
-
if (
|
|
633
|
+
if (registrationOnly) {
|
|
596
634
|
await client.registerTables(publicTables())
|
|
597
635
|
return { tables: publicTables().map((table) => table.publicTable) }
|
|
598
636
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration.js","sourceRoot":"","sources":["../../src/cf-deploy/migration.ts"],"names":[],"mappings":"AAEA,MAAM,cAAc,GAAG,OAAO,CAAA;AAC9B,MAAM,eAAe,GAAG,OAAO,CAAA;AAE/B,SAAS,WAAW,CAAC,QAAgB,EAAE,GAAmB;IACxD,OAAO,QAAQ;SACZ,KAAK,CAAC,eAAe,CAAC;SACtB,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;SACtB,KAAK,CAAC,cAAc,CAAC;SACrB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;AACrB,CAAC;AA0CD,MAAM,UAAU,0BAA0B,CACxC,GAAmB,EACnB,KAA2C;IAE3C,MAAM,uBAAuB,GAAG,WAAW,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAA;IAChF,MAAM,kBAAkB,GAAG,WAAW,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAA;IACpE,MAAM,cAAc,GAAG,WAAW,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAA;IAE9E,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC1B,OAAO,iCAAiC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,2BAA2B,uBAAuB,SAAS,CAAA;IACxI,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,oBAAoB,GAAG,WAAW,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAA;QAClF,OAAO,0BAA0B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,qBAAqB,CAAC;;gCAEhD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC;;8BAErC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,mBAAmB,CAAC;iCACtC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC;yBAChD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC;yBAC1C,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC
|
|
1
|
+
{"version":3,"file":"migration.js","sourceRoot":"","sources":["../../src/cf-deploy/migration.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nativeMigrations.d.ts","sourceRoot":"","sources":["../../src/cf-deploy/nativeMigrations.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,2BAA2B,GAAG;IACxC,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,kBAAkB,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IACtD,mBAAmB,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IACvD,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CACtB,CAAA;AAED,KAAK,iCAAiC,GAAG,IAAI,CAC3C,2BAA2B,EAC3B,IAAI,GAAG,gBAAgB,GAAG,eAAe,GAAG,YAAY,GAAG,oBAAoB,CAChF,CAAA;
|
|
1
|
+
{"version":3,"file":"nativeMigrations.d.ts","sourceRoot":"","sources":["../../src/cf-deploy/nativeMigrations.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,2BAA2B,GAAG;IACxC,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,eAAe,CAAC,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC7D,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,kBAAkB,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IACtD,mBAAmB,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IACvD,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CACtB,CAAA;AAED,KAAK,iCAAiC,GAAG,IAAI,CAC3C,2BAA2B,EAC3B,IAAI,GAAG,gBAAgB,GAAG,eAAe,GAAG,YAAY,GAAG,oBAAoB,CAChF,CAAA;AAmFD,wBAAgB,gCAAgC,CAC9C,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,iCAAiC,GACjE,2BAA2B,EAAE,CAmI/B"}
|
|
@@ -5,6 +5,14 @@ import { join } from 'node:path';
|
|
|
5
5
|
// by statement, but a rolled-back block leaves the ORIGINAL <t> behind, so the
|
|
6
6
|
// table NAME still resolves while the rebuilt shape is gone.
|
|
7
7
|
function rebuildColumnNames(createSql) {
|
|
8
|
+
return createTableColumnEntries(createSql).map((entry) => entry.name);
|
|
9
|
+
}
|
|
10
|
+
// every column ENTRY a CREATE TABLE declares, with its full definition text.
|
|
11
|
+
// the phantom-ledger reconcile uses these to converge a live table that
|
|
12
|
+
// predates its ledgered CREATE: the old table resolves by NAME, so the CREATE
|
|
13
|
+
// never re-runs, and columns that only ever existed inside its definition are
|
|
14
|
+
// otherwise unreachable (prod 2026-07-26, 217 wedged namespaces).
|
|
15
|
+
function createTableColumnEntries(createSql) {
|
|
8
16
|
const open = createSql.indexOf('(');
|
|
9
17
|
if (open < 0)
|
|
10
18
|
return [];
|
|
@@ -62,8 +70,10 @@ function rebuildColumnNames(createSql) {
|
|
|
62
70
|
.map((value) => value.trim())
|
|
63
71
|
.filter((value) => value.length > 0 &&
|
|
64
72
|
!/^(?:CONSTRAINT|FOREIGN KEY|PRIMARY KEY|UNIQUE|CHECK)\b/i.test(value))
|
|
65
|
-
.
|
|
66
|
-
|
|
73
|
+
.flatMap((definition) => {
|
|
74
|
+
const name = /^[`"]?(\w+)/.exec(definition)?.[1];
|
|
75
|
+
return name ? [{ definition, name }] : [];
|
|
76
|
+
});
|
|
67
77
|
}
|
|
68
78
|
export function readNativeSqlMigrationStatements(migrationsDir, parseStatement) {
|
|
69
79
|
const migrationPaths = [];
|
|
@@ -112,6 +122,7 @@ export function readNativeSqlMigrationStatements(migrationsDir, parseStatement)
|
|
|
112
122
|
new RegExp(`^ALTER TABLE\\s+[\`"]?${recreateTempTable}[\`"]?\\s+RENAME TO`, 'i').test(rewritten)) {
|
|
113
123
|
recreateTempTable = null;
|
|
114
124
|
}
|
|
125
|
+
const plainCreate = !created && /^CREATE TABLE IF NOT EXISTS\s+[`"]?\w+/i.test(rewritten);
|
|
115
126
|
return {
|
|
116
127
|
id: `${migrationId}:${index}`,
|
|
117
128
|
...statement,
|
|
@@ -120,6 +131,9 @@ export function readNativeSqlMigrationStatements(migrationsDir, parseStatement)
|
|
|
120
131
|
? { rebuildTarget: blockTempTable.slice('__new_'.length) }
|
|
121
132
|
: null),
|
|
122
133
|
...(created ? { rebuildColumns: rebuildColumnNames(rewritten) } : null),
|
|
134
|
+
...(plainCreate
|
|
135
|
+
? { declaredColumns: createTableColumnEntries(rewritten) }
|
|
136
|
+
: null),
|
|
123
137
|
sql: rewritten,
|
|
124
138
|
};
|
|
125
139
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nativeMigrations.js","sourceRoot":"","sources":["../../src/cf-deploy/nativeMigrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"nativeMigrations.js","sourceRoot":"","sources":["../../src/cf-deploy/nativeMigrations.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "orez",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.7",
|
|
4
4
|
"description": "PGlite-powered zero-sync development backend. No Docker required.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -150,11 +150,11 @@
|
|
|
150
150
|
"@noble/curves": "1.9.7",
|
|
151
151
|
"@noble/hashes": "1.8.0",
|
|
152
152
|
"@pgsql/traverse": "17.2.6",
|
|
153
|
-
"bedrock-sqlite": "0.9.
|
|
153
|
+
"bedrock-sqlite": "0.9.7",
|
|
154
154
|
"citty": "^0.2.0",
|
|
155
155
|
"esbuild": "^0.25.0",
|
|
156
|
-
"orez-sync-cf-host": "0.9.
|
|
157
|
-
"orez-sync-executor": "0.9.
|
|
156
|
+
"orez-sync-cf-host": "0.9.7",
|
|
157
|
+
"orez-sync-executor": "0.9.7",
|
|
158
158
|
"pg-gateway": "0.3.0-beta.4",
|
|
159
159
|
"pgsql-parser": "^17.9.11",
|
|
160
160
|
"postgres": "^3.4.5"
|