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.
@@ -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
- return validateRemoteDbUrl(dbUrl);
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
- let resumableSeed = options.resumableSeed === true;
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
- // seed-remote already printed a `--from` resume command. After the data is
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 --db-url '<direct-database-url>' --from ${file.basename}${triggersFlag}`));
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
- for (let i = 0; i < queue.length; i += 1) {
91
- const file = queue[i];
92
- console.log(info(`[${i + 1}/${queue.length}] Seeding ${file.relPath}...`));
93
- try {
94
- await runCommand('psql', [
95
- dbUrl,
96
- '-X',
97
- '--single-transaction',
98
- '-v',
99
- 'ON_ERROR_STOP=1',
100
- '-c',
101
- sessionSetupSql,
102
- '-f',
103
- file.absPath,
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
- catch (error) {
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":"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"}
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 (full chain when step is omitted)`)
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, then split/reconstruct/validate')
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 data --input supabase/seeds/prod-data.sql
189
- supabee sync data --no-backup
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('Run `supabase db dump`, then process schema files')
197
- .option('--input <path>', 'Dump output path (defaults to schema.input from config)')
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 = {}) => runSyncCommand('schema', 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('Run `supabase db dump --data-only`, then process data files')
206
- .option('--input <path>', 'Dump output path (defaults to data.input from config)')
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 = {}) => runSyncCommand('data', 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 the database at this Postgres connection string instead of local (destructive; prompts for confirmation)')
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', 'Use no-seed reset + resumable direct-psql seeding (automatic with --linked; otherwise requires --db-url)')
260
- .option('--keep-triggers', 'With --resumable-seed, keep triggers/FK checks active during seeding (default: disabled)')
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
- Large remote datasets: the Supabase seed path can time out and leave the database
276
- unhealthy. --linked avoids that path automatically. For an explicit --db-url,
277
- add --resumable-seed to load data file-by-file via direct psql and resume with
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" --resumable-seed --yes
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