spindb 0.68.10 → 0.69.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.
- package/README.md +2 -0
- package/dist/cli/commands/create.js +67 -16
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/cli/commands/menu/backup-handlers.js +27 -17
- package/dist/cli/commands/menu/backup-handlers.js.map +1 -1
- package/dist/cli/commands/restore.js +232 -45
- package/dist/cli/commands/restore.js.map +1 -1
- package/dist/config/version.js +1 -1
- package/dist/config/version.js.map +1 -1
- package/dist/core/backup-restore.js +25 -1
- package/dist/core/backup-restore.js.map +1 -1
- package/dist/core/error-handler.js +47 -0
- package/dist/core/error-handler.js.map +1 -1
- package/dist/core/restore-outcome.js +112 -0
- package/dist/core/restore-outcome.js.map +1 -0
- package/dist/engines/base-engine.js.map +1 -1
- package/dist/engines/influxdb/restore.js +8 -0
- package/dist/engines/influxdb/restore.js.map +1 -1
- package/dist/engines/mariadb/index.js +4 -2
- package/dist/engines/mariadb/index.js.map +1 -1
- package/dist/engines/mysql/index.js +4 -2
- package/dist/engines/mysql/index.js.map +1 -1
- package/dist/engines/postgresql/index.js +5 -2
- package/dist/engines/postgresql/index.js.map +1 -1
- package/dist/engines/postgresql/restore-diagnostics.js +84 -0
- package/dist/engines/postgresql/restore-diagnostics.js.map +1 -0
- package/dist/engines/postgresql/restore.js +23 -4
- package/dist/engines/postgresql/restore.js.map +1 -1
- package/package.json +1 -1
|
@@ -15,7 +15,8 @@ import { getDumpToolName } from '../../config/engines-registry.js';
|
|
|
15
15
|
import { platformService } from '../../core/platform-service.js';
|
|
16
16
|
import { TransactionManager } from '../../core/transaction-manager.js';
|
|
17
17
|
import { Engine, isFileBasedEngine, isRemoteContainer, restoreCreatesDatabase, } from '../../types/index.js';
|
|
18
|
-
import { logDebug } from '../../core/error-handler.js';
|
|
18
|
+
import { logDebug, describeThrown } from '../../core/error-handler.js';
|
|
19
|
+
import { classifyRestoreOutcome, restoreDiagnosticsJson, restoreErrorReportLines, restoreFailureMessage, } from '../../core/restore-outcome.js';
|
|
19
20
|
import { getEngineMetadata } from '../helpers.js';
|
|
20
21
|
import { copyRedisKeyspace, } from '../../engines/redis/resp-client.js';
|
|
21
22
|
import { parseRedisConnectionString } from '../../engines/redis/index.js';
|
|
@@ -28,6 +29,8 @@ export const restoreCommand = new Command('restore')
|
|
|
28
29
|
.option('--from-url <url>', 'Pull data from a remote database connection string')
|
|
29
30
|
.option('-f, --force', 'Overwrite existing database without confirmation')
|
|
30
31
|
.option('--into-existing', 'Restore INTO an existing database without dropping/recreating it (non-destructive to the database object; replaces its contents). The database must already exist. Safe to run against a live database with open connections (e.g. behind a connection pooler).')
|
|
32
|
+
.option('--pre-sql <file>', 'Run a SQL file against the target database after it is created and BEFORE the restore. For compatibility shims a dump needs and the target lacks: a missing extension, roles the dump grants to, a function a column default calls. Runs inside the same rollback scope as the restore.')
|
|
33
|
+
.option('--with-privileges', 'Replay the GRANT/REVOKE statements in the dump instead of dropping them. PostgreSQL only, and only for custom/tar/directory dumps (a plain-SQL dump is replayed as written, so its grants always ran). Object ownership is still stripped. A grant to a role this container does not have becomes a reported object error rather than silence.')
|
|
31
34
|
.option('-j, --json', 'Output result as JSON')
|
|
32
35
|
.action(async (name, backup, options) => {
|
|
33
36
|
let tempDumpPath = null;
|
|
@@ -35,6 +38,10 @@ export const restoreCommand = new Command('restore')
|
|
|
35
38
|
// choose one (a `mysql://` source can be MySQL or MariaDB). Surfaced in
|
|
36
39
|
// --json so a conversion is visible to a script, not just to a reader.
|
|
37
40
|
let remoteSource;
|
|
41
|
+
// Whether --pre-sql ran, and how the restore itself turned out. Both are
|
|
42
|
+
// reported in --json.
|
|
43
|
+
let preSqlApplied = false;
|
|
44
|
+
let outcome;
|
|
38
45
|
try {
|
|
39
46
|
let containerName = name;
|
|
40
47
|
let backupPath = backup;
|
|
@@ -110,6 +117,45 @@ export const restoreCommand = new Command('restore')
|
|
|
110
117
|
}
|
|
111
118
|
process.exit(1);
|
|
112
119
|
}
|
|
120
|
+
// --pre-sql runs a SQL file through the engine's own client. The
|
|
121
|
+
// allowlist is the set of engines whose client can be told to keep its
|
|
122
|
+
// chatter off stdout (runScript's `quiet`), because --pre-sql --json
|
|
123
|
+
// has to stay parseable.
|
|
124
|
+
const PRE_SQL_ENGINES = new Set(['postgresql', 'mysql', 'mariadb']);
|
|
125
|
+
if (options.preSql) {
|
|
126
|
+
if (!PRE_SQL_ENGINES.has(engineName)) {
|
|
127
|
+
const msg = `--pre-sql is not supported for ${engineName}. It is available for ${[...PRE_SQL_ENGINES].join(', ')}.`;
|
|
128
|
+
if (options.json) {
|
|
129
|
+
console.log(JSON.stringify({ error: msg }));
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
console.error(uiError(msg));
|
|
133
|
+
}
|
|
134
|
+
process.exit(1);
|
|
135
|
+
}
|
|
136
|
+
if (!existsSync(options.preSql)) {
|
|
137
|
+
const msg = `--pre-sql file not found: ${options.preSql}`;
|
|
138
|
+
if (options.json) {
|
|
139
|
+
console.log(JSON.stringify({ error: msg }));
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
console.error(uiError(msg));
|
|
143
|
+
}
|
|
144
|
+
process.exit(1);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
// --with-privileges only means anything where the restore tool can be
|
|
148
|
+
// told to drop privileges in the first place, which is pg_restore.
|
|
149
|
+
if (options.withPrivileges && engineName !== Engine.PostgreSQL) {
|
|
150
|
+
const msg = `--with-privileges is not supported for ${engineName}. It is available for postgresql, whose restore drops the dump's GRANT/REVOKE statements by default.`;
|
|
151
|
+
if (options.json) {
|
|
152
|
+
console.log(JSON.stringify({ error: msg }));
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
console.error(uiError(msg));
|
|
156
|
+
}
|
|
157
|
+
process.exit(1);
|
|
158
|
+
}
|
|
113
159
|
// Check if container needs to be running for restore
|
|
114
160
|
// - File-based engines (SQLite, DuckDB) don't need to be running
|
|
115
161
|
// - Redis/Valkey RDB restore requires container to be STOPPED (text format needs running)
|
|
@@ -178,11 +224,23 @@ export const restoreCommand = new Command('restore')
|
|
|
178
224
|
const isRedisUrl = options.fromUrl.startsWith('redis://') ||
|
|
179
225
|
options.fromUrl.startsWith('rediss://');
|
|
180
226
|
if (engineName === 'postgresql' && !isPgUrl) {
|
|
181
|
-
|
|
227
|
+
const msg = 'Connection string must start with postgresql:// or postgres:// for PostgreSQL containers';
|
|
228
|
+
if (options.json) {
|
|
229
|
+
console.log(JSON.stringify({ error: msg }));
|
|
230
|
+
}
|
|
231
|
+
else {
|
|
232
|
+
console.error(uiError(msg));
|
|
233
|
+
}
|
|
182
234
|
process.exit(1);
|
|
183
235
|
}
|
|
184
236
|
if (engineName === 'mysql' && !isMysqlUrl) {
|
|
185
|
-
|
|
237
|
+
const msg = 'Connection string must start with mysql:// for MySQL containers';
|
|
238
|
+
if (options.json) {
|
|
239
|
+
console.log(JSON.stringify({ error: msg }));
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
console.error(uiError(msg));
|
|
243
|
+
}
|
|
186
244
|
process.exit(1);
|
|
187
245
|
}
|
|
188
246
|
if (isRedisLike && !isRedisUrl) {
|
|
@@ -230,6 +288,10 @@ export const restoreCommand = new Command('restore')
|
|
|
230
288
|
const targetDb = parseInt(options.database || config.database || '0', 10) || 0;
|
|
231
289
|
const copySpinner = createSpinner('Copying keyspace from the remote database...');
|
|
232
290
|
copySpinner.start();
|
|
291
|
+
// Hoisted out of the progress callback so a failure can say how
|
|
292
|
+
// far the copy got. A migration that moved 40,000 keys and then
|
|
293
|
+
// died is a different problem than one that moved none.
|
|
294
|
+
let keysCopied = 0;
|
|
233
295
|
try {
|
|
234
296
|
const copyResult = await copyRedisKeyspace({
|
|
235
297
|
host: source.host,
|
|
@@ -247,6 +309,7 @@ export const restoreCommand = new Command('restore')
|
|
|
247
309
|
database: targetDb,
|
|
248
310
|
}, {
|
|
249
311
|
onProgress: (p) => {
|
|
312
|
+
keysCopied = p.restored;
|
|
250
313
|
copySpinner.text = `Copying keyspace... ${p.restored}/${p.total} keys`;
|
|
251
314
|
},
|
|
252
315
|
});
|
|
@@ -269,9 +332,20 @@ export const restoreCommand = new Command('restore')
|
|
|
269
332
|
}
|
|
270
333
|
catch (error) {
|
|
271
334
|
copySpinner.fail('Redis migration failed');
|
|
272
|
-
|
|
335
|
+
// A rejected RESP call is not always an Error (a socket teardown
|
|
336
|
+
// can reject with a plain object), and `(error as Error).message`
|
|
337
|
+
// was then undefined - which JSON.stringify drops, so --json
|
|
338
|
+
// printed a bare `{}`.
|
|
339
|
+
const thrown = describeThrown(error);
|
|
340
|
+
const msg = `Redis migration failed: ${thrown.message}`;
|
|
273
341
|
if (options.json) {
|
|
274
|
-
console.log(JSON.stringify({
|
|
342
|
+
console.log(JSON.stringify({
|
|
343
|
+
error: msg,
|
|
344
|
+
...(thrown.name ? { errorName: thrown.name } : {}),
|
|
345
|
+
...(thrown.code ? { errorCode: thrown.code } : {}),
|
|
346
|
+
phase: 'redis-keyspace-copy',
|
|
347
|
+
keysCopied,
|
|
348
|
+
}));
|
|
275
349
|
}
|
|
276
350
|
else {
|
|
277
351
|
console.error(uiError(msg));
|
|
@@ -302,7 +376,7 @@ export const restoreCommand = new Command('restore')
|
|
|
302
376
|
{ targetVersion: config.version });
|
|
303
377
|
dumpSpinner.succeed('Dump created from remote database');
|
|
304
378
|
remoteSource = dumpResult.remoteSource;
|
|
305
|
-
if (dumpResult.warnings?.length) {
|
|
379
|
+
if (dumpResult.warnings?.length && !options.json) {
|
|
306
380
|
for (const warning of dumpResult.warnings) {
|
|
307
381
|
console.log(chalk.yellow(` ${warning}`));
|
|
308
382
|
}
|
|
@@ -311,36 +385,82 @@ export const restoreCommand = new Command('restore')
|
|
|
311
385
|
dumpSuccess = true;
|
|
312
386
|
}
|
|
313
387
|
catch (error) {
|
|
314
|
-
const
|
|
388
|
+
const thrown = describeThrown(error);
|
|
315
389
|
dumpSpinner.fail('Failed to create dump');
|
|
316
|
-
if (
|
|
317
|
-
|
|
390
|
+
if (thrown.message.includes(`${dumpTool} not found`) ||
|
|
391
|
+
thrown.message.includes('ENOENT')) {
|
|
392
|
+
// No prompting in JSON mode - a script cannot answer it.
|
|
393
|
+
if (options.json) {
|
|
394
|
+
console.log(JSON.stringify({
|
|
395
|
+
error: `${dumpTool} not installed: ${thrown.message}`,
|
|
396
|
+
phase: 'remote-dump',
|
|
397
|
+
tool: dumpTool,
|
|
398
|
+
}));
|
|
399
|
+
process.exit(1);
|
|
400
|
+
}
|
|
318
401
|
const installed = await promptInstallDependencies(dumpTool, engineName);
|
|
319
402
|
if (!installed) {
|
|
320
403
|
process.exit(1);
|
|
321
404
|
}
|
|
322
405
|
continue;
|
|
323
406
|
}
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
407
|
+
// This path printed NOTHING in --json mode, so a failed remote
|
|
408
|
+
// dump exited 1 with empty stdout. It also split the label onto
|
|
409
|
+
// stderr and the detail onto stdout, which no pipe keeps
|
|
410
|
+
// together.
|
|
411
|
+
if (options.json) {
|
|
412
|
+
console.log(JSON.stringify({
|
|
413
|
+
error: `${dumpTool} error: ${thrown.message}`,
|
|
414
|
+
...(thrown.name ? { errorName: thrown.name } : {}),
|
|
415
|
+
...(thrown.code ? { errorCode: thrown.code } : {}),
|
|
416
|
+
phase: 'remote-dump',
|
|
417
|
+
tool: dumpTool,
|
|
418
|
+
}));
|
|
419
|
+
}
|
|
420
|
+
else {
|
|
421
|
+
console.error();
|
|
422
|
+
console.error(uiError(`${dumpTool} error:`));
|
|
423
|
+
console.error(chalk.gray(` ${thrown.message}`));
|
|
424
|
+
}
|
|
327
425
|
process.exit(1);
|
|
328
426
|
}
|
|
329
427
|
}
|
|
330
428
|
if (!dumpSuccess) {
|
|
331
|
-
|
|
429
|
+
const msg = 'Failed to create dump after retries';
|
|
430
|
+
if (options.json) {
|
|
431
|
+
console.log(JSON.stringify({
|
|
432
|
+
error: msg,
|
|
433
|
+
phase: 'remote-dump',
|
|
434
|
+
tool: dumpTool,
|
|
435
|
+
}));
|
|
436
|
+
}
|
|
437
|
+
else {
|
|
438
|
+
console.error(uiError(msg));
|
|
439
|
+
}
|
|
332
440
|
process.exit(1);
|
|
333
441
|
}
|
|
334
442
|
}
|
|
335
443
|
else {
|
|
336
444
|
if (!backupPath) {
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
445
|
+
const msg = 'Backup file path is required';
|
|
446
|
+
if (options.json) {
|
|
447
|
+
console.log(JSON.stringify({ error: msg }));
|
|
448
|
+
}
|
|
449
|
+
else {
|
|
450
|
+
console.error(uiError(msg));
|
|
451
|
+
console.log(chalk.gray(' Usage: spindb restore <container> <backup-file>'));
|
|
452
|
+
console.log(chalk.gray(' or: spindb restore <container> --from-url <connection-string>'));
|
|
453
|
+
}
|
|
340
454
|
process.exit(1);
|
|
341
455
|
}
|
|
342
456
|
if (!existsSync(backupPath)) {
|
|
343
|
-
|
|
457
|
+
const msg = `Backup file not found: ${backupPath}`;
|
|
458
|
+
if (options.json) {
|
|
459
|
+
console.log(JSON.stringify({ error: msg }));
|
|
460
|
+
}
|
|
461
|
+
else {
|
|
462
|
+
console.error(uiError(msg));
|
|
463
|
+
}
|
|
344
464
|
process.exit(1);
|
|
345
465
|
}
|
|
346
466
|
}
|
|
@@ -356,7 +476,13 @@ export const restoreCommand = new Command('restore')
|
|
|
356
476
|
}
|
|
357
477
|
}
|
|
358
478
|
if (!backupPath) {
|
|
359
|
-
|
|
479
|
+
const msg = 'No backup path specified';
|
|
480
|
+
if (options.json) {
|
|
481
|
+
console.log(JSON.stringify({ error: msg }));
|
|
482
|
+
}
|
|
483
|
+
else {
|
|
484
|
+
console.error(uiError(msg));
|
|
485
|
+
}
|
|
360
486
|
process.exit(1);
|
|
361
487
|
}
|
|
362
488
|
const detectSpinner = createSpinner('Detecting backup format...');
|
|
@@ -372,11 +498,23 @@ export const restoreCommand = new Command('restore')
|
|
|
372
498
|
});
|
|
373
499
|
const isRdbFormat = format.format === 'rdb';
|
|
374
500
|
if (isRdbFormat && running) {
|
|
375
|
-
|
|
501
|
+
const msg = `Container "${containerName}" must be stopped for RDB restore. Run: spindb stop ${containerName}`;
|
|
502
|
+
if (options.json) {
|
|
503
|
+
console.log(JSON.stringify({ error: msg }));
|
|
504
|
+
}
|
|
505
|
+
else {
|
|
506
|
+
console.error(uiError(msg));
|
|
507
|
+
}
|
|
376
508
|
process.exit(1);
|
|
377
509
|
}
|
|
378
510
|
if (!isRdbFormat && !running) {
|
|
379
|
-
|
|
511
|
+
const msg = `Container "${containerName}" is not running. Start it first for text format restore.`;
|
|
512
|
+
if (options.json) {
|
|
513
|
+
console.log(JSON.stringify({ error: msg }));
|
|
514
|
+
}
|
|
515
|
+
else {
|
|
516
|
+
console.error(uiError(msg));
|
|
517
|
+
}
|
|
380
518
|
process.exit(1);
|
|
381
519
|
}
|
|
382
520
|
}
|
|
@@ -503,6 +641,33 @@ export const restoreCommand = new Command('restore')
|
|
|
503
641
|
// while live connections (a pooler, a health monitor) stay open.
|
|
504
642
|
dbSpinner.succeed(`Restoring into existing database "${databaseName}"`);
|
|
505
643
|
}
|
|
644
|
+
// --pre-sql: compatibility shims the dump needs and the target does
|
|
645
|
+
// not have (a missing extension, the roles a dump grants to, a
|
|
646
|
+
// function a column default calls). It runs AFTER the database
|
|
647
|
+
// exists and BEFORE the restore, inside the same transaction scope,
|
|
648
|
+
// so a shim that fails takes the created database down with it
|
|
649
|
+
// rather than leaving a half-prepared one behind. With
|
|
650
|
+
// --into-existing there is no created database and no rollback, so a
|
|
651
|
+
// failed shim just aborts before anything is restored.
|
|
652
|
+
if (options.preSql) {
|
|
653
|
+
const preSqlSpinner = createSpinner(`Applying pre-restore SQL from ${options.preSql}...`);
|
|
654
|
+
preSqlSpinner.start();
|
|
655
|
+
try {
|
|
656
|
+
await engine.runScript(config, {
|
|
657
|
+
file: options.preSql,
|
|
658
|
+
database: databaseName,
|
|
659
|
+
// Keep psql/mysql chatter off stdout: --json owns it.
|
|
660
|
+
quiet: true,
|
|
661
|
+
});
|
|
662
|
+
preSqlApplied = true;
|
|
663
|
+
preSqlSpinner.succeed('Pre-restore SQL applied');
|
|
664
|
+
}
|
|
665
|
+
catch (preSqlErr) {
|
|
666
|
+
preSqlSpinner.fail('Pre-restore SQL failed');
|
|
667
|
+
const thrown = describeThrown(preSqlErr);
|
|
668
|
+
throw new Error(`--pre-sql failed (${options.preSql}): ${thrown.message}`);
|
|
669
|
+
}
|
|
670
|
+
}
|
|
506
671
|
const restoreSpinner = createSpinner('Restoring backup...');
|
|
507
672
|
restoreSpinner.start();
|
|
508
673
|
const result = await engine.restore(config, backupPath, {
|
|
@@ -511,31 +676,34 @@ export const restoreCommand = new Command('restore')
|
|
|
511
676
|
// Object-level clean so an in-place restore is a faithful REPLACE
|
|
512
677
|
// (not a merge into the existing contents).
|
|
513
678
|
...(options.intoExisting ? { clean: true } : {}),
|
|
679
|
+
...(options.withPrivileges ? { withPrivileges: true } : {}),
|
|
514
680
|
});
|
|
515
|
-
//
|
|
516
|
-
|
|
681
|
+
// What the restore tool actually did. The old rule here failed only
|
|
682
|
+
// on a literal FATAL in stderr, so a pg_restore that could not create
|
|
683
|
+
// a single table (missing extension -> failed defaults -> skipped
|
|
684
|
+
// COPY) reported success and exited 0.
|
|
685
|
+
outcome = classifyRestoreOutcome(result);
|
|
686
|
+
if (outcome.failed) {
|
|
517
687
|
restoreSpinner.fail('Restore failed');
|
|
518
|
-
throw new Error(result
|
|
519
|
-
}
|
|
520
|
-
if (
|
|
521
|
-
restoreSpinner.
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
//
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
lines.forEach((line) => {
|
|
530
|
-
if (line.trim()) {
|
|
531
|
-
console.log(chalk.gray(` ${line}`));
|
|
532
|
-
}
|
|
533
|
-
});
|
|
534
|
-
if (result.stderr.split('\n').length > 5) {
|
|
535
|
-
console.log(chalk.gray(' ...'));
|
|
688
|
+
throw new Error(restoreFailureMessage(result));
|
|
689
|
+
}
|
|
690
|
+
if (outcome.hadObjectErrors) {
|
|
691
|
+
restoreSpinner.warn(outcome.summary);
|
|
692
|
+
// STDOUT belongs to --json. This block used to write to it
|
|
693
|
+
// unconditionally, which made the JSON unparseable exactly when
|
|
694
|
+
// something had gone wrong.
|
|
695
|
+
if (!options.json) {
|
|
696
|
+
console.log(chalk.yellow('\n Objects that failed to restore:'));
|
|
697
|
+
for (const line of restoreErrorReportLines(outcome.diagnostics, 10)) {
|
|
698
|
+
console.log(chalk.gray(` ${line}`));
|
|
536
699
|
}
|
|
700
|
+
console.log(chalk.gray('\n The database was created and holds what could be restored.'));
|
|
701
|
+
console.log(chalk.gray(' Re-run with --pre-sql <file> to create the missing extensions/roles first.'));
|
|
537
702
|
}
|
|
538
703
|
}
|
|
704
|
+
else {
|
|
705
|
+
restoreSpinner.succeed(outcome.summary);
|
|
706
|
+
}
|
|
539
707
|
// Restore succeeded - commit transaction (clear rollback actions)
|
|
540
708
|
tx.commit();
|
|
541
709
|
}
|
|
@@ -551,13 +719,21 @@ export const restoreCommand = new Command('restore')
|
|
|
551
719
|
if (options.json) {
|
|
552
720
|
const metadata = await getEngineMetadata(engineName);
|
|
553
721
|
console.log(JSON.stringify({
|
|
722
|
+
// success + exit 0 still mean "the restore ran and the database
|
|
723
|
+
// is usable". `status` is what says whether everything in the
|
|
724
|
+
// dump made it: additive on purpose, so existing consumers
|
|
725
|
+
// (layerbase-desktop, layerbase-cloud) keep working unchanged.
|
|
554
726
|
success: true,
|
|
727
|
+
status: outcome?.status ?? 'completed',
|
|
555
728
|
database: databaseName,
|
|
556
729
|
container: containerName,
|
|
557
730
|
engine: engineName,
|
|
558
731
|
format: format.description,
|
|
559
732
|
sourceType: options.fromUrl ? 'remote' : 'file',
|
|
560
733
|
...(remoteSource ? { remoteSource } : {}),
|
|
734
|
+
...(preSqlApplied ? { preSqlApplied: true } : {}),
|
|
735
|
+
...(options.withPrivileges ? { privilegesRestored: true } : {}),
|
|
736
|
+
...(outcome ? restoreDiagnosticsJson(outcome) : {}),
|
|
561
737
|
connectionString,
|
|
562
738
|
overwritten: databaseExists,
|
|
563
739
|
...metadata,
|
|
@@ -583,7 +759,7 @@ export const restoreCommand = new Command('restore')
|
|
|
583
759
|
}
|
|
584
760
|
}
|
|
585
761
|
catch (error) {
|
|
586
|
-
const
|
|
762
|
+
const thrown = describeThrown(error);
|
|
587
763
|
const missingToolPatterns = [
|
|
588
764
|
'pg_restore not found',
|
|
589
765
|
'psql not found',
|
|
@@ -591,10 +767,14 @@ export const restoreCommand = new Command('restore')
|
|
|
591
767
|
'mysql not found',
|
|
592
768
|
'mysqldump not found',
|
|
593
769
|
];
|
|
594
|
-
const matchingPattern = missingToolPatterns.find((p) =>
|
|
770
|
+
const matchingPattern = missingToolPatterns.find((p) => thrown.message.includes(p));
|
|
595
771
|
if (matchingPattern) {
|
|
596
772
|
if (options.json) {
|
|
597
|
-
console.log(JSON.stringify({
|
|
773
|
+
console.log(JSON.stringify({
|
|
774
|
+
error: thrown.message,
|
|
775
|
+
...(thrown.name ? { errorName: thrown.name } : {}),
|
|
776
|
+
...(thrown.code ? { errorCode: thrown.code } : {}),
|
|
777
|
+
}));
|
|
598
778
|
process.exit(1);
|
|
599
779
|
}
|
|
600
780
|
const missingTool = matchingPattern.replace(' not found', '');
|
|
@@ -605,10 +785,17 @@ export const restoreCommand = new Command('restore')
|
|
|
605
785
|
process.exit(1);
|
|
606
786
|
}
|
|
607
787
|
if (options.json) {
|
|
608
|
-
console.log(JSON.stringify({
|
|
788
|
+
console.log(JSON.stringify({
|
|
789
|
+
error: thrown.message,
|
|
790
|
+
...(thrown.name ? { errorName: thrown.name } : {}),
|
|
791
|
+
...(thrown.code ? { errorCode: thrown.code } : {}),
|
|
792
|
+
...(outcome?.hadObjectErrors
|
|
793
|
+
? restoreDiagnosticsJson(outcome)
|
|
794
|
+
: {}),
|
|
795
|
+
}));
|
|
609
796
|
}
|
|
610
797
|
else {
|
|
611
|
-
console.error(uiError(
|
|
798
|
+
console.error(uiError(thrown.message));
|
|
612
799
|
}
|
|
613
800
|
process.exit(1);
|
|
614
801
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restore.js","sourceRoot":"","sources":["../../../cli/commands/restore.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"restore.js","sourceRoot":"","sources":["../../../cli/commands/restore.ts"],"names":[],"mappings":"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"}
|
package/dist/config/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../config/version.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,MAAM,CAAC,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../config/version.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAA"}
|
|
@@ -15,6 +15,7 @@ import { containerManager } from './container-manager.js';
|
|
|
15
15
|
import { getMissingDependencies } from './dependency-manager.js';
|
|
16
16
|
import { platformService } from './platform-service.js';
|
|
17
17
|
import { getEngine } from '../engines/index.js';
|
|
18
|
+
import { classifyRestoreOutcome, restoreErrorReportLines, restoreFailureMessage, } from './restore-outcome.js';
|
|
18
19
|
import { createSpinner } from '../cli/ui/spinner.js';
|
|
19
20
|
import { uiSuccess, uiError, formatBytes } from '../cli/ui/theme.js';
|
|
20
21
|
import { getBackupExtension, getBackupSpinnerLabel, LARGE_BACKUP_THRESHOLD, VERY_LARGE_BACKUP_THRESHOLD, } from '../config/backup-formats.js';
|
|
@@ -157,8 +158,31 @@ export async function performRestore(options) {
|
|
|
157
158
|
const result = await engine.restore(config, backupPath, {
|
|
158
159
|
database: databaseName,
|
|
159
160
|
});
|
|
161
|
+
// Same classifier the CLI restore uses, so a partial restore reads the
|
|
162
|
+
// same way here: the objects that failed, not the first 10 lines of
|
|
163
|
+
// whatever the tool printed.
|
|
164
|
+
const outcome = classifyRestoreOutcome(result);
|
|
160
165
|
const warnings = [];
|
|
161
|
-
|
|
166
|
+
// A restore the classifier calls FAILED (a `FATAL`, or a non-zero exit
|
|
167
|
+
// with no object errors to explain it) is not a warning. Reporting it as
|
|
168
|
+
// `success: true` is the same swallow the classifier exists to end - the
|
|
169
|
+
// engine's restore() resolves rather than throwing, so nothing below
|
|
170
|
+
// would have caught it.
|
|
171
|
+
if (outcome.failed) {
|
|
172
|
+
const error = restoreFailureMessage(result);
|
|
173
|
+
spinner?.fail('Restore failed');
|
|
174
|
+
if (interactive) {
|
|
175
|
+
console.log();
|
|
176
|
+
console.log(uiError(error));
|
|
177
|
+
console.log();
|
|
178
|
+
}
|
|
179
|
+
return { success: false, error };
|
|
180
|
+
}
|
|
181
|
+
if (outcome.hadObjectErrors) {
|
|
182
|
+
spinner?.warn(outcome.summary);
|
|
183
|
+
warnings.push(...restoreErrorReportLines(outcome.diagnostics, 10));
|
|
184
|
+
}
|
|
185
|
+
else if (result.code === 0) {
|
|
162
186
|
spinner?.succeed('Restore completed successfully');
|
|
163
187
|
}
|
|
164
188
|
else {
|