@stacksjs/database 0.70.90 → 0.70.91
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/migrations.js +22 -1
- package/package.json +10 -10
package/dist/migrations.js
CHANGED
|
@@ -411,11 +411,32 @@ export async function previewPendingMigrations(options = {}) {
|
|
|
411
411
|
return [];
|
|
412
412
|
}
|
|
413
413
|
}
|
|
414
|
+
function detectSnapshotDialectMismatch(dialect) {
|
|
415
|
+
const qbDir = join(process.cwd(), ".qb");
|
|
416
|
+
let files;
|
|
417
|
+
try {
|
|
418
|
+
files = readdirSync(qbDir);
|
|
419
|
+
} catch {
|
|
420
|
+
return null;
|
|
421
|
+
}
|
|
422
|
+
const snapshotFor = (d) => `model-snapshot.${d}.json`;
|
|
423
|
+
if (files.includes(snapshotFor(dialect)))
|
|
424
|
+
return null;
|
|
425
|
+
for (const f of files) {
|
|
426
|
+
const m = /^model-snapshot\.(\w+)\.json$/.exec(f);
|
|
427
|
+
if (m?.[1] && m[1] !== dialect)
|
|
428
|
+
return m[1];
|
|
429
|
+
}
|
|
430
|
+
return null;
|
|
431
|
+
}
|
|
414
432
|
export async function generateMigrations(options = {}) {
|
|
415
433
|
try {
|
|
416
434
|
log.debug("Generating migrations...");
|
|
417
435
|
configureQueryBuilder();
|
|
418
|
-
const dialect = getDialect(),
|
|
436
|
+
const dialect = getDialect(), mismatch = detectSnapshotDialectMismatch(dialect);
|
|
437
|
+
if (mismatch)
|
|
438
|
+
return err(Error(`Refusing to generate migrations: resolved dialect "${dialect}" has no snapshot in .qb/, but "${mismatch}" does. DB_CONNECTION is likely unset or wrong (missing .env?) \u2014 ` + `generating now would write a full duplicate migration set in the wrong dialect. Set DB_CONNECTION=${mismatch} (or your intended dialect) and retry. To intentionally start a new dialect from scratch, remove .qb/model-snapshot.${mismatch}.json first.`));
|
|
439
|
+
const { modelsDir, skip } = prepareMigrationModelsDir();
|
|
419
440
|
if (skip) {
|
|
420
441
|
log.debug("No app/Models directory found; using committed framework migrations");
|
|
421
442
|
return ok("Migrations generated");
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@stacksjs/database",
|
|
3
3
|
"type": "module",
|
|
4
4
|
"sideEffects": false,
|
|
5
|
-
"version": "0.70.
|
|
5
|
+
"version": "0.70.91",
|
|
6
6
|
"description": "The Stacks database integration.",
|
|
7
7
|
"author": "Chris Breuer",
|
|
8
8
|
"contributors": [
|
|
@@ -58,15 +58,15 @@
|
|
|
58
58
|
"bun-query-builder": "^0.1.50"
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
61
|
-
"@stacksjs/cli": "0.70.
|
|
62
|
-
"@stacksjs/config": "0.70.
|
|
63
|
-
"@stacksjs/logging": "0.70.
|
|
64
|
-
"@stacksjs/router": "0.70.
|
|
61
|
+
"@stacksjs/cli": "0.70.91",
|
|
62
|
+
"@stacksjs/config": "0.70.91",
|
|
63
|
+
"@stacksjs/logging": "0.70.91",
|
|
64
|
+
"@stacksjs/router": "0.70.91",
|
|
65
65
|
"better-dx": "^0.2.16",
|
|
66
|
-
"@stacksjs/path": "0.70.
|
|
67
|
-
"@stacksjs/query-builder": "0.70.
|
|
68
|
-
"@stacksjs/storage": "0.70.
|
|
69
|
-
"@stacksjs/strings": "0.70.
|
|
70
|
-
"@stacksjs/utils": "0.70.
|
|
66
|
+
"@stacksjs/path": "0.70.91",
|
|
67
|
+
"@stacksjs/query-builder": "0.70.91",
|
|
68
|
+
"@stacksjs/storage": "0.70.91",
|
|
69
|
+
"@stacksjs/strings": "0.70.91",
|
|
70
|
+
"@stacksjs/utils": "0.70.91"
|
|
71
71
|
}
|
|
72
72
|
}
|