supabee 0.6.1 → 0.7.0
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 +68 -21
- package/dist/commands/data.js +17 -32
- package/dist/commands/data.js.map +1 -1
- package/dist/commands/db-reset.d.ts +0 -5
- package/dist/commands/db-reset.js +23 -49
- package/dist/commands/db-reset.js.map +1 -1
- package/dist/commands/seed-remote.d.ts +0 -23
- package/dist/commands/seed-remote.js +29 -50
- package/dist/commands/seed-remote.js.map +1 -1
- package/dist/index.js +40 -17
- package/dist/index.js.map +1 -1
- package/dist/lib/db-url-defaults.d.ts +1 -0
- package/dist/lib/db-url-defaults.js +23 -0
- package/dist/lib/db-url-defaults.js.map +1 -0
- package/dist/lib/post-seed-cutoff.js +1 -1
- package/dist/lib/post-seed-cutoff.js.map +1 -1
- package/dist/lib/psql-connection.d.ts +1 -0
- package/dist/lib/psql-connection.js +63 -0
- package/dist/lib/psql-connection.js.map +1 -0
- package/dist/lib/sql-lines.d.ts +1 -0
- package/dist/lib/sql-lines.js +19 -0
- package/dist/lib/sql-lines.js.map +1 -0
- package/dist/lib/sql-statement-boundary.d.ts +7 -0
- package/dist/lib/sql-statement-boundary.js +66 -0
- package/dist/lib/sql-statement-boundary.js.map +1 -0
- package/dist/lib/subprocess.d.ts +1 -0
- package/dist/lib/subprocess.js +19 -13
- package/dist/lib/subprocess.js.map +1 -1
- package/package.json +9 -3
|
@@ -10,17 +10,13 @@ import { classifyMigrations } from '../lib/migration-classifier.js';
|
|
|
10
10
|
import { applyMixedSplitPlan, buildMixedSplitPlan } from '../lib/mixed-migration-splitter.js';
|
|
11
11
|
import { renderResetSummary } from '../lib/reset-summary.js';
|
|
12
12
|
import { runSeedRemoteCommand } from './seed-remote.js';
|
|
13
|
-
|
|
14
|
-
* Resolve whether the run targets a remote database and, if so, the supabase CLI
|
|
15
|
-
* flags to forward. Returns null for a local run. Throws on invalid flag combos.
|
|
16
|
-
*
|
|
17
|
-
* A remote reset is destructive: `supabase db reset --linked/--db-url` wipes the
|
|
18
|
-
* target's public schema and reseeds it from local seed files. The destructive
|
|
19
|
-
* confirmation is handled separately by confirmRemoteReset().
|
|
20
|
-
*/
|
|
13
|
+
import { confirmDbUrlDefaults } from '../lib/db-url-defaults.js';
|
|
21
14
|
function resolveRemoteTarget(mode, options) {
|
|
22
15
|
const linked = options.linked === true;
|
|
23
|
-
const dbUrl = options.dbUrl;
|
|
16
|
+
const dbUrl = options.dbUrl?.trim();
|
|
17
|
+
if (options.dbUrl !== undefined && !dbUrl) {
|
|
18
|
+
throw new Error('--db-url requires a non-empty Postgres connection string.');
|
|
19
|
+
}
|
|
24
20
|
if (!linked && !dbUrl)
|
|
25
21
|
return null;
|
|
26
22
|
if (mode !== 'reset') {
|
|
@@ -32,12 +28,8 @@ function resolveRemoteTarget(mode, options) {
|
|
|
32
28
|
if (options.psql === true) {
|
|
33
29
|
throw new Error('--psql applies migrations to the local database only; it cannot be combined with a remote target.');
|
|
34
30
|
}
|
|
35
|
-
// Forward supabase's own global --yes so the underlying `supabase db reset` /
|
|
36
|
-
// `migration up` do not prompt again. supabee has already gated the destructive
|
|
37
|
-
// action via confirmRemoteReset(), so a second downstream prompt would be a
|
|
38
|
-
// redundant double-confirm interactively and a hang ("context canceled") in CI.
|
|
39
31
|
return dbUrl
|
|
40
|
-
? { args: ['--db-url', dbUrl, '--yes'], label: 'remote (--db-url)', isDbUrl: true }
|
|
32
|
+
? { args: ['--db-url', validateRemoteDbUrl(dbUrl), '--yes'], label: 'remote (--db-url)', isDbUrl: true }
|
|
41
33
|
: { args: ['--linked', '--yes'], label: 'linked remote project', isDbUrl: false };
|
|
42
34
|
}
|
|
43
35
|
function validateRemoteDbUrl(value) {
|
|
@@ -95,13 +87,15 @@ async function resolveLinkedDbUrl() {
|
|
|
95
87
|
const dbUrl = (await promptForSecret('Database URL: ')).trim();
|
|
96
88
|
if (!dbUrl)
|
|
97
89
|
throw new Error('Database URL is required for a linked remote reset.');
|
|
98
|
-
|
|
90
|
+
validateRemoteDbUrl(dbUrl);
|
|
91
|
+
const rl = readline.createInterface({ input, output });
|
|
92
|
+
try {
|
|
93
|
+
return await confirmDbUrlDefaults(dbUrl, (question) => rl.question(question));
|
|
94
|
+
}
|
|
95
|
+
finally {
|
|
96
|
+
rl.close();
|
|
97
|
+
}
|
|
99
98
|
}
|
|
100
|
-
/**
|
|
101
|
-
* Confirm a destructive remote reset before any files are touched. Returns true
|
|
102
|
-
* to proceed. `--yes` skips the prompt; a non-interactive shell without `--yes`
|
|
103
|
-
* refuses rather than wiping a remote database unattended.
|
|
104
|
-
*/
|
|
105
99
|
async function confirmRemoteReset(target, options) {
|
|
106
100
|
if (options.yes === true)
|
|
107
101
|
return true;
|
|
@@ -165,9 +159,7 @@ async function removeIfEmpty(dirPath) {
|
|
|
165
159
|
await fs.promises.rmdir(dirPath);
|
|
166
160
|
}
|
|
167
161
|
}
|
|
168
|
-
catch {
|
|
169
|
-
// ignore cleanup errors
|
|
170
|
-
}
|
|
162
|
+
catch { }
|
|
171
163
|
}
|
|
172
164
|
async function ensureDirectoryExists(dirPath) {
|
|
173
165
|
const stats = await fs.promises.stat(dirPath).catch(() => null);
|
|
@@ -207,16 +199,13 @@ async function promptForSplit(plan, classificationsByFile) {
|
|
|
207
199
|
}
|
|
208
200
|
}
|
|
209
201
|
async function runPostSeedCommand(mode, cutoffTimestampRaw, options = {}) {
|
|
210
|
-
// Fail fast on invalid flag combinations before touching the cutoff or disk.
|
|
211
202
|
let remoteTarget = resolveRemoteTarget(mode, options);
|
|
212
203
|
const linkedTarget = options.linked === true;
|
|
213
204
|
let effectiveDbUrl = options.dbUrl?.trim();
|
|
214
|
-
|
|
205
|
+
const resumableSeed = remoteTarget !== null || options.resumableSeed === true;
|
|
215
206
|
if (resumableSeed && !remoteTarget) {
|
|
216
207
|
throw new Error('--resumable-seed requires a remote target (--linked or --db-url).');
|
|
217
208
|
}
|
|
218
|
-
// Linked resets use the resumable path by default. Obtain the DB URL before
|
|
219
|
-
// confirmation so the actual hostname is shown to the user.
|
|
220
209
|
if (linkedTarget) {
|
|
221
210
|
effectiveDbUrl = await resolveLinkedDbUrl();
|
|
222
211
|
remoteTarget = {
|
|
@@ -224,12 +213,10 @@ async function runPostSeedCommand(mode, cutoffTimestampRaw, options = {}) {
|
|
|
224
213
|
label: `linked remote project at ${new URL(effectiveDbUrl).hostname} (resumable seed)`,
|
|
225
214
|
isDbUrl: true,
|
|
226
215
|
};
|
|
227
|
-
resumableSeed = true;
|
|
228
216
|
}
|
|
229
217
|
if (resumableSeed && !effectiveDbUrl) {
|
|
230
218
|
throw new Error('--resumable-seed requires --db-url, SUPABASE_DB_URL, or PGURI.');
|
|
231
219
|
}
|
|
232
|
-
// Confirm the destructive remote reset up front, before cutoff detection or disk work.
|
|
233
220
|
if (remoteTarget) {
|
|
234
221
|
const confirmed = await confirmRemoteReset(remoteTarget, options);
|
|
235
222
|
if (!confirmed) {
|
|
@@ -249,7 +236,6 @@ async function runPostSeedCommand(mode, cutoffTimestampRaw, options = {}) {
|
|
|
249
236
|
const applyLabel = usePsql ? 'psql' : 'supabase migration up';
|
|
250
237
|
await ensureDirectoryExists(migrationsDir);
|
|
251
238
|
console.log(sectionWithNote(title(modeDisplayName(mode)), `Defers post-seed migrations, runs ${modeCommandLabel(mode)}, restores files, then reapplies deferred migrations.`));
|
|
252
|
-
// ---- Classify migrations and resolve mixed files before touching anything on disk ----
|
|
253
239
|
let classified = await classifyMigrations({ migrationsDir });
|
|
254
240
|
let mixedFiles = classified.filter((migration) => migration.classification === 'mixed');
|
|
255
241
|
let mixedAfterCutoff = mixedFiles.filter((migration) => migration.timestamp > cutoff);
|
|
@@ -258,10 +244,6 @@ async function runPostSeedCommand(mode, cutoffTimestampRaw, options = {}) {
|
|
|
258
244
|
throw new Error(`Mixed schema+DML migrations are not supported with --strict-mixed.\n` +
|
|
259
245
|
`Split each mixed migration into separate schema-only and data-only files:\n${mixedList}`);
|
|
260
246
|
}
|
|
261
|
-
// Mixed migrations at/before cutoff are already applied on the linked remote, so they
|
|
262
|
-
// cannot be auto-split (renumbering applied history is blocked). They run verbatim during
|
|
263
|
-
// reset, and any embedded DML re-runs on top of the seed/dump — a common source of
|
|
264
|
-
// duplicate-key collisions. Warn by default (compatibility mode); --strict-mixed fails instead.
|
|
265
247
|
const mixedAtOrBeforeCutoff = mixedFiles.filter((migration) => migration.timestamp <= cutoff);
|
|
266
248
|
if (mixedAtOrBeforeCutoff.length > 0) {
|
|
267
249
|
console.log(warn(`${mixedAtOrBeforeCutoff.length} mixed schema+DML migration(s) at/before cutoff will run as-is (compatibility mode):`));
|
|
@@ -303,7 +285,6 @@ async function runPostSeedCommand(mode, cutoffTimestampRaw, options = {}) {
|
|
|
303
285
|
}
|
|
304
286
|
console.log(ok('Auto-split completed for post-cutoff mixed migrations.'));
|
|
305
287
|
}
|
|
306
|
-
// ---- Build the plan: which files are deferred (after cutoff) vs stubbed (historical data) ----
|
|
307
288
|
const replayDeferred = classified.filter((migration) => migration.timestamp > cutoff);
|
|
308
289
|
const replayDeferredNames = replayDeferred.map((migration) => migration.fileName);
|
|
309
290
|
const historicalDataMigrations = classified.filter((migration) => migration.timestamp <= cutoff && migration.classification === 'data');
|
|
@@ -317,7 +298,6 @@ async function runPostSeedCommand(mode, cutoffTimestampRaw, options = {}) {
|
|
|
317
298
|
: resolvedCutoff.source === 'config'
|
|
318
299
|
? ' (from postSeedCutoff in config)'
|
|
319
300
|
: '';
|
|
320
|
-
// ---- Failure tracking for the end-of-run summary ----
|
|
321
301
|
let failedStep = 0;
|
|
322
302
|
let stepLabel = '';
|
|
323
303
|
let failureMessage = '';
|
|
@@ -360,7 +340,6 @@ async function runPostSeedCommand(mode, cutoffTimestampRaw, options = {}) {
|
|
|
360
340
|
}
|
|
361
341
|
console.log(info(`cutoff = ${resolvedCutoffRaw}${cutoffSourceSuffix}`));
|
|
362
342
|
console.log('');
|
|
363
|
-
// ---- 1) Announce the plan, then defer post-cutoff migrations and stub historical data migrations ----
|
|
364
343
|
if (replayDeferredNames.length > 0) {
|
|
365
344
|
console.log(info(`Deferring ${replayDeferredNames.length} migrations after ${resolvedCutoffRaw}:`));
|
|
366
345
|
for (const fileName of replayDeferredNames) {
|
|
@@ -396,16 +375,15 @@ async function runPostSeedCommand(mode, cutoffTimestampRaw, options = {}) {
|
|
|
396
375
|
stepLabel = 'prepare migrations';
|
|
397
376
|
failureMessage = error instanceof Error ? error.message : String(error);
|
|
398
377
|
}
|
|
399
|
-
// ---- 2) Run the base command (reset/start) ----
|
|
400
378
|
if (failedStep === 0) {
|
|
401
379
|
try {
|
|
402
|
-
// In resumable-seed mode, reset with --no-seed so the schema is rebuilt
|
|
403
|
-
// cleanly and fast; the data is loaded afterwards by the direct-psql step.
|
|
404
380
|
const resetArgs = ['db', 'reset', ...(remoteTarget?.args ?? [])];
|
|
405
381
|
if (resumableSeed)
|
|
406
382
|
resetArgs.push('--no-seed');
|
|
407
383
|
console.log(info(`Running ${modeCommandLabel(mode)}${resumableSeed ? ' (--no-seed)' : ''}...`));
|
|
408
|
-
await runCommand('supabase', mode === 'reset' ? resetArgs : ['start']
|
|
384
|
+
await runCommand('supabase', mode === 'reset' ? resetArgs : ['start'], {
|
|
385
|
+
sensitiveValues: effectiveDbUrl ? [effectiveDbUrl] : [],
|
|
386
|
+
});
|
|
409
387
|
console.log(ok(`${modeCommandLabel(mode)} completed.`));
|
|
410
388
|
}
|
|
411
389
|
catch (error) {
|
|
@@ -414,7 +392,6 @@ async function runPostSeedCommand(mode, cutoffTimestampRaw, options = {}) {
|
|
|
414
392
|
failureMessage = error instanceof Error ? error.message : String(error);
|
|
415
393
|
}
|
|
416
394
|
}
|
|
417
|
-
// ---- 3) Restore migration files (always run when we changed files on disk) ----
|
|
418
395
|
if (movedReplayDeferred || stubbedHistorical) {
|
|
419
396
|
const restoreErrors = [];
|
|
420
397
|
if (movedReplayDeferred) {
|
|
@@ -450,7 +427,6 @@ async function runPostSeedCommand(mode, cutoffTimestampRaw, options = {}) {
|
|
|
450
427
|
}
|
|
451
428
|
}
|
|
452
429
|
}
|
|
453
|
-
// ---- 4) Seed remote via resumable direct-psql path (only in --resumable-seed mode) ----
|
|
454
430
|
if (failedStep === 0 && resumableSeed) {
|
|
455
431
|
try {
|
|
456
432
|
console.log('');
|
|
@@ -460,14 +436,10 @@ async function runPostSeedCommand(mode, cutoffTimestampRaw, options = {}) {
|
|
|
460
436
|
failedStep = 4;
|
|
461
437
|
stepLabel = 'seed remote (psql)';
|
|
462
438
|
failureMessage = error instanceof Error ? error.message : String(error);
|
|
463
|
-
|
|
464
|
-
// fully seeded, the deferred post-cutoff migrations still need applying.
|
|
465
|
-
// Do not print the credential-bearing URL back to the terminal.
|
|
466
|
-
const migrationTarget = linkedTarget ? '--linked --yes' : "--db-url '<direct-database-url>' --yes";
|
|
439
|
+
const migrationTarget = linkedTarget ? '--linked --yes' : "--db-url 'YOUR_DATABASE_URL' --yes";
|
|
467
440
|
console.log(warn(`Once seeding is complete, finish by applying the post-cutoff migrations: supabase migration up ${migrationTarget}`));
|
|
468
441
|
}
|
|
469
442
|
}
|
|
470
|
-
// ---- 5) Reapply deferred migrations ----
|
|
471
443
|
if (failedStep === 0 && replayDeferredNames.length > 0) {
|
|
472
444
|
try {
|
|
473
445
|
if (usePsql) {
|
|
@@ -480,7 +452,9 @@ async function runPostSeedCommand(mode, cutoffTimestampRaw, options = {}) {
|
|
|
480
452
|
}
|
|
481
453
|
else {
|
|
482
454
|
console.log(info('Applying deferred migrations via supabase migration up...'));
|
|
483
|
-
await runCommand('supabase', ['migration', 'up', ...(remoteTarget?.args ?? [])]
|
|
455
|
+
await runCommand('supabase', ['migration', 'up', ...(remoteTarget?.args ?? [])], {
|
|
456
|
+
sensitiveValues: effectiveDbUrl ? [effectiveDbUrl] : [],
|
|
457
|
+
});
|
|
484
458
|
}
|
|
485
459
|
newApplied = true;
|
|
486
460
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db-reset.js","sourceRoot":"","sources":["../../src/commands/db-reset.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"db-reset.js","sourceRoot":"","sources":["../../src/commands/db-reset.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,32 +1,9 @@
|
|
|
1
1
|
export type SeedRemoteOptions = {
|
|
2
|
-
/** Postgres connection string. Falls back to SUPABASE_DB_URL / PGURI env. */
|
|
3
2
|
dbUrl?: string;
|
|
4
|
-
/** Resume from this seed file (inclusive). Matches by file name or relative path. */
|
|
5
3
|
from?: string;
|
|
6
|
-
/** Print the ordered seed queue and exit without seeding. */
|
|
7
4
|
dryRun?: boolean;
|
|
8
|
-
/** Keep triggers/FK checks active during seeding (default: disabled, like a restore). */
|
|
9
5
|
keepTriggers?: boolean;
|
|
10
6
|
configPath?: string;
|
|
11
7
|
supabaseDir?: string;
|
|
12
8
|
};
|
|
13
|
-
/**
|
|
14
|
-
* Seed a remote database by running its split seed files directly via psql.
|
|
15
|
-
*
|
|
16
|
-
* Each file runs atomically (`--single-transaction` + `ON_ERROR_STOP`), so a
|
|
17
|
-
* timeout or error rolls that file back entirely — leaving the database healthy
|
|
18
|
-
* and letting `--from` resume cleanly from the failed file with no duplicate
|
|
19
|
-
* rows. `statement_timeout` is disabled for the session so long inserts are not
|
|
20
|
-
* cut off by the server default.
|
|
21
|
-
*
|
|
22
|
-
* By default the session also runs with `session_replication_role = replica`,
|
|
23
|
-
* which disables user triggers and FK enforcement during the load — matching how
|
|
24
|
-
* pg_dump/pg_restore load a data dump. This stops application triggers (e.g. an
|
|
25
|
-
* auth.users insert auto-creating a profiles row) from firing and makes seed
|
|
26
|
-
* file ordering irrelevant. Pass keepTriggers to leave triggers/FK checks live.
|
|
27
|
-
*
|
|
28
|
-
* Both GUCs are applied as in-session `SET` statements inside each file's
|
|
29
|
-
* transaction rather than via PGOPTIONS, because Supabase's connection pooler
|
|
30
|
-
* strips connection startup options.
|
|
31
|
-
*/
|
|
32
9
|
export declare function runSeedRemoteCommand(options?: SeedRemoteOptions): Promise<void>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { runCommand } from '../lib/subprocess.js';
|
|
2
2
|
import { sectionWithNote, title, info, ok, fail, warn } from '../lib/ui.js';
|
|
3
3
|
import { discoverSeedFiles } from '../lib/seed-files.js';
|
|
4
|
+
import { withPsqlConnection } from '../lib/psql-connection.js';
|
|
4
5
|
function resolveDbUrl(optionUrl) {
|
|
5
6
|
const fromOption = optionUrl?.trim();
|
|
6
7
|
if (fromOption)
|
|
@@ -10,7 +11,6 @@ function resolveDbUrl(optionUrl) {
|
|
|
10
11
|
return fromEnv;
|
|
11
12
|
throw new Error('db seed-remote requires a connection string. Pass --db-url <url> (or set SUPABASE_DB_URL / PGURI).');
|
|
12
13
|
}
|
|
13
|
-
/** Find the queue index to resume from. Matches file name, relative path, or suffix. */
|
|
14
14
|
function findResumeIndex(files, from) {
|
|
15
15
|
const needle = from.trim();
|
|
16
16
|
return files.findIndex((file) => file.basename === needle || file.relPath === needle || file.relPath.endsWith(`/${needle}`));
|
|
@@ -20,40 +20,15 @@ function printResumeHint(file, keepTriggers) {
|
|
|
20
20
|
console.log('');
|
|
21
21
|
console.log(warn('Seeding stopped — the remote schema is intact, only data is incomplete.'));
|
|
22
22
|
console.log(info('Resume from the failed file (already-seeded files are skipped):'));
|
|
23
|
-
console.log(info(` supabee db seed-remote --
|
|
23
|
+
console.log(info(` SUPABASE_DB_URL='YOUR_DATABASE_URL' supabee db seed-remote --from ${file.basename}${triggersFlag}`));
|
|
24
|
+
console.log(info('Replace YOUR_DATABASE_URL locally; supabee never prints stored credentials in resume hints.'));
|
|
24
25
|
}
|
|
25
|
-
/**
|
|
26
|
-
* Seed a remote database by running its split seed files directly via psql.
|
|
27
|
-
*
|
|
28
|
-
* Each file runs atomically (`--single-transaction` + `ON_ERROR_STOP`), so a
|
|
29
|
-
* timeout or error rolls that file back entirely — leaving the database healthy
|
|
30
|
-
* and letting `--from` resume cleanly from the failed file with no duplicate
|
|
31
|
-
* rows. `statement_timeout` is disabled for the session so long inserts are not
|
|
32
|
-
* cut off by the server default.
|
|
33
|
-
*
|
|
34
|
-
* By default the session also runs with `session_replication_role = replica`,
|
|
35
|
-
* which disables user triggers and FK enforcement during the load — matching how
|
|
36
|
-
* pg_dump/pg_restore load a data dump. This stops application triggers (e.g. an
|
|
37
|
-
* auth.users insert auto-creating a profiles row) from firing and makes seed
|
|
38
|
-
* file ordering irrelevant. Pass keepTriggers to leave triggers/FK checks live.
|
|
39
|
-
*
|
|
40
|
-
* Both GUCs are applied as in-session `SET` statements inside each file's
|
|
41
|
-
* transaction rather than via PGOPTIONS, because Supabase's connection pooler
|
|
42
|
-
* strips connection startup options.
|
|
43
|
-
*/
|
|
44
26
|
export async function runSeedRemoteCommand(options = {}) {
|
|
45
27
|
const dbUrl = resolveDbUrl(options.dbUrl);
|
|
46
28
|
const { files, patterns } = discoverSeedFiles({
|
|
47
29
|
configPath: options.configPath,
|
|
48
30
|
supabaseDir: options.supabaseDir,
|
|
49
31
|
});
|
|
50
|
-
// Session GUCs are applied as in-session SET commands, NOT via PGOPTIONS /
|
|
51
|
-
// connection startup options — Supabase's connection pooler (supavisor/pgbouncer)
|
|
52
|
-
// strips startup options, so PGOPTIONS silently has no effect there. Sent as
|
|
53
|
-
// real SQL inside the same --single-transaction as the file, the SETs reach the
|
|
54
|
-
// backend and take effect for that file: statement_timeout=0 so long inserts are
|
|
55
|
-
// not cut off, and (by default) session_replication_role=replica so triggers and
|
|
56
|
-
// FK enforcement are disabled during the load, like pg_dump/pg_restore.
|
|
57
32
|
const sessionSetup = ['SET statement_timeout = 0;'];
|
|
58
33
|
if (!options.keepTriggers)
|
|
59
34
|
sessionSetup.push('SET session_replication_role = replica;');
|
|
@@ -87,29 +62,33 @@ export async function runSeedRemoteCommand(options = {}) {
|
|
|
87
62
|
console.log(ok('Dry run complete. No data was seeded.'));
|
|
88
63
|
return;
|
|
89
64
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
65
|
+
await withPsqlConnection(dbUrl, async (env) => {
|
|
66
|
+
for (let i = 0; i < queue.length; i += 1) {
|
|
67
|
+
const file = queue[i];
|
|
68
|
+
console.log(info(`[${i + 1}/${queue.length}] Seeding ${file.relPath}...`));
|
|
69
|
+
try {
|
|
70
|
+
await runCommand('psql', [
|
|
71
|
+
'-X',
|
|
72
|
+
'--single-transaction',
|
|
73
|
+
'-v',
|
|
74
|
+
'ON_ERROR_STOP=1',
|
|
75
|
+
'-c',
|
|
76
|
+
sessionSetupSql,
|
|
77
|
+
'-f',
|
|
78
|
+
file.absPath,
|
|
79
|
+
], {
|
|
80
|
+
env,
|
|
81
|
+
sensitiveValues: [dbUrl],
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
console.log('');
|
|
86
|
+
console.log(fail(`Failed seeding ${file.relPath}: ${error instanceof Error ? error.message : String(error)}`));
|
|
87
|
+
printResumeHint(file, options.keepTriggers === true);
|
|
88
|
+
throw new Error(`Remote seeding failed at ${file.relPath}.`);
|
|
89
|
+
}
|
|
105
90
|
}
|
|
106
|
-
|
|
107
|
-
console.log('');
|
|
108
|
-
console.log(fail(`Failed seeding ${file.relPath}: ${error instanceof Error ? error.message : String(error)}`));
|
|
109
|
-
printResumeHint(file, options.keepTriggers === true);
|
|
110
|
-
throw new Error(`Remote seeding failed at ${file.relPath}.`);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
91
|
+
});
|
|
113
92
|
console.log('');
|
|
114
93
|
console.log(ok(`Seeded ${queue.length} file(s) successfully.`));
|
|
115
94
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seed-remote.js","sourceRoot":"","sources":["../../src/commands/seed-remote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAiB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"seed-remote.js","sourceRoot":"","sources":["../../src/commands/seed-remote.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -161,7 +161,7 @@ program
|
|
|
161
161
|
for (const commandName of ['schema', 'data']) {
|
|
162
162
|
program
|
|
163
163
|
.command(`${commandName} [step] [reconstructed]`)
|
|
164
|
-
.description(`${commandName} split/reconstruct/validate (
|
|
164
|
+
.description(`${commandName} split/reconstruct/validate (process an existing local dump)`)
|
|
165
165
|
.option('--input <path>', 'Input SQL file or split folder (reconstruct)')
|
|
166
166
|
.option('--output <path>', 'Split output folder (split) or reconstructed file')
|
|
167
167
|
.option('--backup', 'Backup existing split output before replacing')
|
|
@@ -177,7 +177,7 @@ for (const commandName of ['schema', 'data']) {
|
|
|
177
177
|
}
|
|
178
178
|
const syncCommand = program
|
|
179
179
|
.command('sync')
|
|
180
|
-
.description('Dump from linked project,
|
|
180
|
+
.description('Dump from a linked project, or use --no-sync to process a local dump')
|
|
181
181
|
.addHelpText('after', `
|
|
182
182
|
Main Usage
|
|
183
183
|
supabee sync schema
|
|
@@ -185,30 +185,53 @@ Main Usage
|
|
|
185
185
|
|
|
186
186
|
Examples
|
|
187
187
|
supabee sync schema
|
|
188
|
-
supabee sync
|
|
189
|
-
supabee sync data
|
|
188
|
+
supabee sync schema --no-sync --input path/to/schema.sql
|
|
189
|
+
supabee sync data
|
|
190
|
+
supabee sync data --no-sync --input path/to/data.sql
|
|
190
191
|
|
|
191
192
|
Note
|
|
192
193
|
Requires \`supabase link\` to be configured for this project.
|
|
193
194
|
`);
|
|
194
195
|
syncCommand
|
|
195
196
|
.command('schema')
|
|
196
|
-
.description('
|
|
197
|
-
.option('--
|
|
197
|
+
.description('Dump linked schema and process it (use --no-sync to process an existing dump)')
|
|
198
|
+
.option('--no-sync', 'Process an existing local schema dump without calling Supabase')
|
|
199
|
+
.option('--input <path>', 'Dump output path, or existing local schema dump with --no-sync')
|
|
198
200
|
.option('--output <path>', 'Split output path override for schema processing')
|
|
199
201
|
.option('--backup', 'Backup existing split output before replacing')
|
|
200
202
|
.option('--no-backup', 'Do not backup dirty split output folder before split')
|
|
201
203
|
.option('--force', 'Skip linked migration alignment preflight for sync')
|
|
202
|
-
.action((options = {}) =>
|
|
204
|
+
.action((options = {}) => {
|
|
205
|
+
if (options.sync === false) {
|
|
206
|
+
if (options.force) {
|
|
207
|
+
console.error('--force cannot be used with --no-sync.');
|
|
208
|
+
process.exitCode = 1;
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
return runSchemaCommand(buildStepArgs(undefined, undefined, options));
|
|
212
|
+
}
|
|
213
|
+
return runSyncCommand('schema', options);
|
|
214
|
+
});
|
|
203
215
|
syncCommand
|
|
204
216
|
.command('data')
|
|
205
|
-
.description('
|
|
206
|
-
.option('--
|
|
217
|
+
.description('Dump linked data and process it (use --no-sync to process an existing dump)')
|
|
218
|
+
.option('--no-sync', 'Process an existing local data dump without calling Supabase')
|
|
219
|
+
.option('--input <path>', 'Dump output path, or existing local data dump with --no-sync')
|
|
207
220
|
.option('--output <path>', 'Split output path override for data processing')
|
|
208
221
|
.option('--backup', 'Backup existing split output before replacing')
|
|
209
222
|
.option('--no-backup', 'Do not backup dirty split output folder before split')
|
|
210
223
|
.option('--force', 'Skip linked migration alignment preflight for sync')
|
|
211
|
-
.action((options = {}) =>
|
|
224
|
+
.action((options = {}) => {
|
|
225
|
+
if (options.sync === false) {
|
|
226
|
+
if (options.force) {
|
|
227
|
+
console.error('--force cannot be used with --no-sync.');
|
|
228
|
+
process.exitCode = 1;
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
231
|
+
return runDataCommand(buildStepArgs(undefined, undefined, options));
|
|
232
|
+
}
|
|
233
|
+
return runSyncCommand('data', options);
|
|
234
|
+
});
|
|
212
235
|
const cutoffCommand = program.command('cutoff').description('Cutoff detection helpers');
|
|
213
236
|
cutoffCommand
|
|
214
237
|
.command('detect [cutoffTimestamp]')
|
|
@@ -254,10 +277,10 @@ dbCommand
|
|
|
254
277
|
.option('--temp-dir <path>', 'Temporary directory for deferred migrations', 'supabase/.tmp-migrations')
|
|
255
278
|
.option('--env <name>', 'Environment key used for postSeedCutoffByEnv fallback lookup')
|
|
256
279
|
.option('--linked', 'Reset the linked project with resumable direct-psql seeding (prompts for confirmation and DB URL)')
|
|
257
|
-
.option('--db-url <url>', 'Reset
|
|
280
|
+
.option('--db-url <url>', 'Reset this remote database with resumable seeding (port 5432; prompts for confirmation)')
|
|
258
281
|
.option('--yes', 'Skip the remote-reset confirmation prompt (for CI / non-interactive runs)')
|
|
259
|
-
.option('--resumable-seed', '
|
|
260
|
-
.option('--keep-triggers', '
|
|
282
|
+
.option('--resumable-seed', 'Compatibility flag: resumable seeding is automatic for all remote resets')
|
|
283
|
+
.option('--keep-triggers', 'Keep triggers/FK checks active during remote seeding (default: disabled)')
|
|
261
284
|
.addHelpText('after', `
|
|
262
285
|
What This Command Does
|
|
263
286
|
1) Defers migrations with timestamps greater than <cutoffTimestamp>
|
|
@@ -272,9 +295,9 @@ local seed files. They prompt for confirmation; pass --yes to skip that prompt.
|
|
|
272
295
|
URL: Direct connection for IPv6 or Session pooler for IPv4. Never use port 6543.
|
|
273
296
|
Set SUPABASE_DB_URL or PGURI to avoid the URL prompt (CI).
|
|
274
297
|
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
298
|
+
Both --linked and --db-url reset without Supabase's seed step, then load data
|
|
299
|
+
file-by-file via psql. Use a Direct connection or Session pooler on port 5432.
|
|
300
|
+
If seeding fails, resume with
|
|
278
301
|
\`supabee db seed-remote --from <file>\` instead of starting over.
|
|
279
302
|
|
|
280
303
|
Examples
|
|
@@ -283,7 +306,7 @@ Examples
|
|
|
283
306
|
supabee db reset 20260309180959 --psql
|
|
284
307
|
supabee db reset --linked
|
|
285
308
|
supabee db reset 20260309180959 --linked --yes
|
|
286
|
-
supabee db reset --db-url "postgresql://...:5432/postgres?sslmode=require" --
|
|
309
|
+
supabee db reset --db-url "postgresql://...:5432/postgres?sslmode=require" --yes
|
|
287
310
|
`)
|
|
288
311
|
.action((cutoffTimestamp, options = {}) => runDbResetCommand(cutoffTimestamp, options));
|
|
289
312
|
dbCommand
|