supabee 0.3.10 → 0.5.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 +47 -0
- package/dist/commands/db-reset.d.ts +8 -0
- package/dist/commands/db-reset.js +105 -5
- package/dist/commands/db-reset.js.map +1 -1
- package/dist/commands/seed-remote.d.ts +20 -0
- package/dist/commands/seed-remote.js +81 -0
- package/dist/commands/seed-remote.js.map +1 -0
- package/dist/index.js +41 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/seed-files.d.ts +31 -0
- package/dist/lib/seed-files.js +114 -0
- package/dist/lib/seed-files.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -213,6 +213,16 @@ When linked lookup succeeds, `supabee` stores the value in `supabee.config.json`
|
|
|
213
213
|
If linked lookup fails (for example in CI), it falls back to `postSeedCutoffByEnv.<env>` when `--env` is set, otherwise `postSeedCutoff`.
|
|
214
214
|
If not linked, `supabee` runs `supabase link` and retries once.
|
|
215
215
|
|
|
216
|
+
By default `db reset` targets the local database. Pass `--linked` to reset the linked Supabase project, or `--db-url <url>` to reset the database at an explicit Postgres connection string. Remote resets run the same defer/reset/replay flow but forward the target flag to `supabase db reset` and `supabase migration up`.
|
|
217
|
+
|
|
218
|
+
> **Warning:** A remote reset is destructive — it WIPES the target database's `public` schema and reseeds it from your local seed files. Use it only against throwaway/staging databases, not production.
|
|
219
|
+
|
|
220
|
+
Before doing any work, a remote reset prompts for confirmation (`Reset <target>? [y/N]`). Pass `--yes` to skip the prompt for CI / non-interactive runs; in a non-interactive shell without `--yes`, the command refuses rather than wiping a remote unattended. `--linked`/`--db-url` cannot be combined with each other or with `--psql`.
|
|
221
|
+
|
|
222
|
+
When targeting a remote with `--linked`, the auto-detected cutoff is read from that same remote, so it equals the latest migration already applied there. If you want a different cutoff (or are using `--db-url` to a database other than the linked one), pass the cutoff explicitly.
|
|
223
|
+
|
|
224
|
+
**Large remote datasets (`--resumable-seed`).** Supabase's built-in seed step (used by a normal remote reset) runs the whole seed as one long operation that can hit the pooler's statement timeout. When it dies mid-seed it can leave the database unhealthy — and re-running starts seeding from scratch. With `--resumable-seed` (requires `--db-url`), `db reset` instead runs `supabase db reset --no-seed` (a fast, healthy schema rebuild), seeds the data file-by-file via direct `psql`, then reapplies the post-cutoff migrations. Because each seed file is atomic, a timeout rolls that file back and you resume from it with [`db seed-remote --from`](#db-seed-remote) instead of redoing the whole load. See [`db seed-remote`](#db-seed-remote) for the seeding mechanics.
|
|
225
|
+
|
|
216
226
|
```bash
|
|
217
227
|
# default re-apply mode: supabase migration up
|
|
218
228
|
supabee db reset 20260309180959
|
|
@@ -224,8 +234,45 @@ supabee db reset 20260309180959 --psql
|
|
|
224
234
|
|
|
225
235
|
# strict mixed policy
|
|
226
236
|
supabee db reset --strict-mixed
|
|
237
|
+
|
|
238
|
+
# remote reset (destructive; prompts for confirmation)
|
|
239
|
+
supabee db reset --linked
|
|
240
|
+
supabee db reset 20260309180959 --linked --yes # skip prompt (CI)
|
|
241
|
+
supabee db reset --db-url "postgres://..." --yes
|
|
242
|
+
|
|
243
|
+
# large remote datasets: no-seed reset + resumable direct-psql seeding + reapply
|
|
244
|
+
supabee db reset --db-url "postgresql://...:5432/postgres?sslmode=require" --resumable-seed --yes
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
### `db seed-remote`
|
|
248
|
+
|
|
249
|
+
Seeds a remote database by running its split seed files **directly via `psql`**, instead of through Supabase's built-in seed step. Built for large datasets where the Supabase seed path times out: it is resumable and leaves the schema healthy on failure.
|
|
250
|
+
|
|
251
|
+
- Reads the ordered file list from `[db.seed].sql_paths` in `supabase/config.toml` (the same list Supabase seeds from) and expands the globs in declared order, lexically sorted.
|
|
252
|
+
- Runs each file atomically with `psql --single-transaction -v ON_ERROR_STOP=1`, streamed from disk (no whole-file buffering), with `statement_timeout = 0` for the session.
|
|
253
|
+
- On failure, the whole failing file rolls back — so the remote schema stays intact and only data is incomplete — and `supabee` prints a `--from` command to resume from that file. Already-seeded files are skipped, and the atomic re-run avoids duplicate rows.
|
|
254
|
+
|
|
255
|
+
Connection comes from `--db-url`, or the `SUPABASE_DB_URL` / `PGURI` environment variable. Use the **direct (5432) connection, not the pooler (6543)**, so `statement_timeout` can be unset.
|
|
256
|
+
|
|
257
|
+
| Option | Description |
|
|
258
|
+
| --- | --- |
|
|
259
|
+
| `--db-url <url>` | Postgres connection string (falls back to `SUPABASE_DB_URL` / `PGURI`). |
|
|
260
|
+
| `--from <file>` | Resume from this seed file (inclusive); matches by file name or relative path. |
|
|
261
|
+
| `--dry-run` | Print the ordered seed queue and exit without seeding. |
|
|
262
|
+
|
|
263
|
+
```bash
|
|
264
|
+
# preview the ordered queue
|
|
265
|
+
supabee db seed-remote --db-url "postgresql://...:5432/postgres?sslmode=require" --dry-run
|
|
266
|
+
|
|
267
|
+
# seed everything
|
|
268
|
+
supabee db seed-remote --db-url "postgresql://...:5432/postgres?sslmode=require"
|
|
269
|
+
|
|
270
|
+
# resume after a timeout at file 015_public_cities_69.sql
|
|
271
|
+
supabee db seed-remote --db-url "postgresql://...:5432/postgres?sslmode=require" --from 015_public_cities_69.sql
|
|
227
272
|
```
|
|
228
273
|
|
|
274
|
+
> Prefer the one-command [`db reset --resumable-seed`](#db-reset) for daily use — it orchestrates the no-seed reset, this seeding step, and the post-cutoff migration reapply together. Reach for `db seed-remote` standalone to resume a failed seed or to seed without a reset.
|
|
275
|
+
|
|
229
276
|
### `start`
|
|
230
277
|
|
|
231
278
|
Defers post-seed migrations newer than the cutoff timestamp, runs `supabase start`, restores deferred migrations, then reapplies them.
|
|
@@ -4,6 +4,14 @@ export type PostSeedCommandOptions = {
|
|
|
4
4
|
tempDir?: string;
|
|
5
5
|
env?: string;
|
|
6
6
|
strictMixed?: boolean;
|
|
7
|
+
/** Target the linked Supabase project instead of the local database (reset only). */
|
|
8
|
+
linked?: boolean;
|
|
9
|
+
/** Target an explicit Postgres connection string instead of the local database (reset only). */
|
|
10
|
+
dbUrl?: string;
|
|
11
|
+
/** Skip the interactive remote-reset confirmation prompt (for CI / non-interactive runs). */
|
|
12
|
+
yes?: boolean;
|
|
13
|
+
/** Reset with --no-seed, then seed via the resumable direct-psql path. Requires --db-url. */
|
|
14
|
+
resumableSeed?: boolean;
|
|
7
15
|
};
|
|
8
16
|
export declare function runDbResetCommand(cutoffTimestampRaw: string | undefined, options?: PostSeedCommandOptions): Promise<void>;
|
|
9
17
|
export declare function runStartCommand(cutoffTimestampRaw: string | undefined, options?: PostSeedCommandOptions): Promise<void>;
|
|
@@ -8,6 +8,61 @@ import { parseCutoffTimestamp, resolvePostSeedCutoff } from '../lib/post-seed-cu
|
|
|
8
8
|
import { classifyMigrations } from '../lib/migration-classifier.js';
|
|
9
9
|
import { applyMixedSplitPlan, buildMixedSplitPlan } from '../lib/mixed-migration-splitter.js';
|
|
10
10
|
import { renderResetSummary } from '../lib/reset-summary.js';
|
|
11
|
+
import { runSeedRemoteCommand } from './seed-remote.js';
|
|
12
|
+
/**
|
|
13
|
+
* Resolve whether the run targets a remote database and, if so, the supabase CLI
|
|
14
|
+
* flags to forward. Returns null for a local run. Throws on invalid flag combos.
|
|
15
|
+
*
|
|
16
|
+
* A remote reset is destructive: `supabase db reset --linked/--db-url` wipes the
|
|
17
|
+
* target's public schema and reseeds it from local seed files. The destructive
|
|
18
|
+
* confirmation is handled separately by confirmRemoteReset().
|
|
19
|
+
*/
|
|
20
|
+
function resolveRemoteTarget(mode, options) {
|
|
21
|
+
const linked = options.linked === true;
|
|
22
|
+
const dbUrl = options.dbUrl;
|
|
23
|
+
if (!linked && !dbUrl)
|
|
24
|
+
return null;
|
|
25
|
+
if (mode !== 'reset') {
|
|
26
|
+
throw new Error('Remote targets (--linked / --db-url) are only supported by `db reset`, not `start`.');
|
|
27
|
+
}
|
|
28
|
+
if (linked && dbUrl) {
|
|
29
|
+
throw new Error('Use either --linked or --db-url, not both.');
|
|
30
|
+
}
|
|
31
|
+
if (options.psql === true) {
|
|
32
|
+
throw new Error('--psql applies migrations to the local database only; it cannot be combined with a remote target.');
|
|
33
|
+
}
|
|
34
|
+
// Forward supabase's own global --yes so the underlying `supabase db reset` /
|
|
35
|
+
// `migration up` do not prompt again. supabee has already gated the destructive
|
|
36
|
+
// action via confirmRemoteReset(), so a second downstream prompt would be a
|
|
37
|
+
// redundant double-confirm interactively and a hang ("context canceled") in CI.
|
|
38
|
+
return dbUrl
|
|
39
|
+
? { args: ['--db-url', dbUrl, '--yes'], label: 'remote (--db-url)', isDbUrl: true }
|
|
40
|
+
: { args: ['--linked', '--yes'], label: 'linked remote project', isDbUrl: false };
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Confirm a destructive remote reset before any files are touched. Returns true
|
|
44
|
+
* to proceed. `--yes` skips the prompt; a non-interactive shell without `--yes`
|
|
45
|
+
* refuses rather than wiping a remote database unattended.
|
|
46
|
+
*/
|
|
47
|
+
async function confirmRemoteReset(target, options) {
|
|
48
|
+
if (options.yes === true)
|
|
49
|
+
return true;
|
|
50
|
+
if (!process.stdin.isTTY || !process.stdout.isTTY) {
|
|
51
|
+
throw new Error('Refusing to reset a remote database in a non-interactive shell without confirmation.\n' +
|
|
52
|
+
'This WIPES the target database and reseeds it from your local seed files.\n' +
|
|
53
|
+
'Re-run with --yes to proceed.');
|
|
54
|
+
}
|
|
55
|
+
console.log(warn(`About to reset ${target.label}. This WIPES the target database and reseeds it from your local seed files.`));
|
|
56
|
+
const rl = readline.createInterface({ input, output });
|
|
57
|
+
try {
|
|
58
|
+
const answer = await rl.question(`Reset ${target.label}? [y/N] `);
|
|
59
|
+
const normalized = answer.trim().toLowerCase();
|
|
60
|
+
return normalized === 'y' || normalized === 'yes';
|
|
61
|
+
}
|
|
62
|
+
finally {
|
|
63
|
+
rl.close();
|
|
64
|
+
}
|
|
65
|
+
}
|
|
11
66
|
const DEFAULT_MIGRATIONS_DIR = 'supabase/migrations';
|
|
12
67
|
const DEFAULT_TEMP_DIR = 'supabase/.tmp-migrations';
|
|
13
68
|
const DATA_MIGRATION_STUB_HEADER = '-- supabee:auto-stub:data-migration';
|
|
@@ -94,6 +149,22 @@ async function promptForSplit(plan, classificationsByFile) {
|
|
|
94
149
|
}
|
|
95
150
|
}
|
|
96
151
|
async function runPostSeedCommand(mode, cutoffTimestampRaw, options = {}) {
|
|
152
|
+
// Fail fast on invalid flag combinations before touching the cutoff or disk.
|
|
153
|
+
const remoteTarget = resolveRemoteTarget(mode, options);
|
|
154
|
+
// The resumable seed path runs direct psql, which needs an explicit connection
|
|
155
|
+
// string — so it requires --db-url (a linked target hides the DB password).
|
|
156
|
+
const resumableSeed = options.resumableSeed === true;
|
|
157
|
+
if (resumableSeed && (!remoteTarget || !remoteTarget.isDbUrl)) {
|
|
158
|
+
throw new Error('--resumable-seed requires --db-url (the linked target cannot provide a psql connection string).');
|
|
159
|
+
}
|
|
160
|
+
// Confirm the destructive remote reset up front, before any cutoff detection or disk work.
|
|
161
|
+
if (remoteTarget) {
|
|
162
|
+
const confirmed = await confirmRemoteReset(remoteTarget, options);
|
|
163
|
+
if (!confirmed) {
|
|
164
|
+
console.log(info('Aborted. No changes made.'));
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
97
168
|
const resolvedCutoff = await resolvePostSeedCutoff(cutoffTimestampRaw, { env: options.env });
|
|
98
169
|
const resolvedCutoffRaw = resolvedCutoff.value;
|
|
99
170
|
const cutoff = parseCutoffTimestamp(resolvedCutoffRaw);
|
|
@@ -208,6 +279,13 @@ async function runPostSeedCommand(mode, cutoffTimestampRaw, options = {}) {
|
|
|
208
279
|
outcome: { status: 'success' },
|
|
209
280
|
}));
|
|
210
281
|
};
|
|
282
|
+
if (remoteTarget) {
|
|
283
|
+
console.log(info(`Target: ${remoteTarget.label}`));
|
|
284
|
+
if (remoteTarget.isDbUrl && resolvedCutoff.source === 'linked') {
|
|
285
|
+
console.log(warn('Cutoff was auto-detected from the linked project, which may differ from the --db-url target. Pass an explicit cutoff if they are not the same database.'));
|
|
286
|
+
}
|
|
287
|
+
console.log('');
|
|
288
|
+
}
|
|
211
289
|
console.log(info(`cutoff = ${resolvedCutoffRaw}${cutoffSourceSuffix}`));
|
|
212
290
|
console.log('');
|
|
213
291
|
// ---- 1) Announce the plan, then defer post-cutoff migrations and stub historical data migrations ----
|
|
@@ -249,8 +327,13 @@ async function runPostSeedCommand(mode, cutoffTimestampRaw, options = {}) {
|
|
|
249
327
|
// ---- 2) Run the base command (reset/start) ----
|
|
250
328
|
if (failedStep === 0) {
|
|
251
329
|
try {
|
|
252
|
-
|
|
253
|
-
|
|
330
|
+
// In resumable-seed mode, reset with --no-seed so the schema is rebuilt
|
|
331
|
+
// cleanly and fast; the data is loaded afterwards by the direct-psql step.
|
|
332
|
+
const resetArgs = ['db', 'reset', ...(remoteTarget?.args ?? [])];
|
|
333
|
+
if (resumableSeed)
|
|
334
|
+
resetArgs.push('--no-seed');
|
|
335
|
+
console.log(info(`Running ${modeCommandLabel(mode)}${resumableSeed ? ' (--no-seed)' : ''}...`));
|
|
336
|
+
await runCommand('supabase', mode === 'reset' ? resetArgs : ['start']);
|
|
254
337
|
console.log(ok(`${modeCommandLabel(mode)} completed.`));
|
|
255
338
|
}
|
|
256
339
|
catch (error) {
|
|
@@ -295,7 +378,24 @@ async function runPostSeedCommand(mode, cutoffTimestampRaw, options = {}) {
|
|
|
295
378
|
}
|
|
296
379
|
}
|
|
297
380
|
}
|
|
298
|
-
// ---- 4)
|
|
381
|
+
// ---- 4) Seed remote via resumable direct-psql path (only in --resumable-seed mode) ----
|
|
382
|
+
if (failedStep === 0 && resumableSeed) {
|
|
383
|
+
try {
|
|
384
|
+
console.log('');
|
|
385
|
+
await runSeedRemoteCommand({ dbUrl: options.dbUrl });
|
|
386
|
+
}
|
|
387
|
+
catch (error) {
|
|
388
|
+
failedStep = 4;
|
|
389
|
+
stepLabel = 'seed remote (psql)';
|
|
390
|
+
failureMessage = error instanceof Error ? error.message : String(error);
|
|
391
|
+
// seed-remote already printed a `--from` resume command. After the data is
|
|
392
|
+
// fully seeded, the deferred post-cutoff migrations still need applying.
|
|
393
|
+
// Use a placeholder for the URL so the password is not echoed into logs.
|
|
394
|
+
const migrationTarget = remoteTarget?.isDbUrl ? '--db-url <your-db-url> --yes' : '--linked --yes';
|
|
395
|
+
console.log(warn(`Once seeding is complete, finish by applying the post-cutoff migrations: supabase migration up ${migrationTarget}`));
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
// ---- 5) Reapply deferred migrations ----
|
|
299
399
|
if (failedStep === 0 && replayDeferredNames.length > 0) {
|
|
300
400
|
try {
|
|
301
401
|
if (usePsql) {
|
|
@@ -308,12 +408,12 @@ async function runPostSeedCommand(mode, cutoffTimestampRaw, options = {}) {
|
|
|
308
408
|
}
|
|
309
409
|
else {
|
|
310
410
|
console.log(info('Applying deferred migrations via supabase migration up...'));
|
|
311
|
-
await runCommand('supabase', ['migration', 'up']);
|
|
411
|
+
await runCommand('supabase', ['migration', 'up', ...(remoteTarget?.args ?? [])]);
|
|
312
412
|
}
|
|
313
413
|
newApplied = true;
|
|
314
414
|
}
|
|
315
415
|
catch (error) {
|
|
316
|
-
failedStep =
|
|
416
|
+
failedStep = 5;
|
|
317
417
|
stepLabel = applyLabel;
|
|
318
418
|
failureMessage = error instanceof Error ? error.message : String(error);
|
|
319
419
|
}
|
|
@@ -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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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export type SeedRemoteOptions = {
|
|
2
|
+
/** Postgres connection string. Falls back to SUPABASE_DB_URL / PGURI env. */
|
|
3
|
+
dbUrl?: string;
|
|
4
|
+
/** Resume from this seed file (inclusive). Matches by file name or relative path. */
|
|
5
|
+
from?: string;
|
|
6
|
+
/** Print the ordered seed queue and exit without seeding. */
|
|
7
|
+
dryRun?: boolean;
|
|
8
|
+
configPath?: string;
|
|
9
|
+
supabaseDir?: string;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Seed a remote database by running its split seed files directly via psql.
|
|
13
|
+
*
|
|
14
|
+
* Each file runs atomically (`--single-transaction` + `ON_ERROR_STOP`), so a
|
|
15
|
+
* timeout or error rolls that file back entirely — leaving the database healthy
|
|
16
|
+
* and letting `--from` resume cleanly from the failed file with no duplicate
|
|
17
|
+
* rows. `statement_timeout` is disabled for the session so long inserts are not
|
|
18
|
+
* cut off by the server default.
|
|
19
|
+
*/
|
|
20
|
+
export declare function runSeedRemoteCommand(options?: SeedRemoteOptions): Promise<void>;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { runCommand } from '../lib/subprocess.js';
|
|
2
|
+
import { sectionWithNote, title, info, ok, fail, warn } from '../lib/ui.js';
|
|
3
|
+
import { discoverSeedFiles } from '../lib/seed-files.js';
|
|
4
|
+
function resolveDbUrl(optionUrl) {
|
|
5
|
+
const fromOption = optionUrl?.trim();
|
|
6
|
+
if (fromOption)
|
|
7
|
+
return fromOption;
|
|
8
|
+
const fromEnv = process.env.SUPABASE_DB_URL?.trim() || process.env.PGURI?.trim();
|
|
9
|
+
if (fromEnv)
|
|
10
|
+
return fromEnv;
|
|
11
|
+
throw new Error('db seed-remote requires a connection string. Pass --db-url <url> (or set SUPABASE_DB_URL / PGURI).');
|
|
12
|
+
}
|
|
13
|
+
/** Find the queue index to resume from. Matches file name, relative path, or suffix. */
|
|
14
|
+
function findResumeIndex(files, from) {
|
|
15
|
+
const needle = from.trim();
|
|
16
|
+
return files.findIndex((file) => file.basename === needle || file.relPath === needle || file.relPath.endsWith(`/${needle}`));
|
|
17
|
+
}
|
|
18
|
+
function printResumeHint(file) {
|
|
19
|
+
console.log('');
|
|
20
|
+
console.log(warn('Seeding stopped — the remote schema is intact, only data is incomplete.'));
|
|
21
|
+
console.log(info('Resume from the failed file (already-seeded files are skipped):'));
|
|
22
|
+
console.log(info(` supabee db seed-remote --db-url <your-db-url> --from ${file.basename}`));
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Seed a remote database by running its split seed files directly via psql.
|
|
26
|
+
*
|
|
27
|
+
* Each file runs atomically (`--single-transaction` + `ON_ERROR_STOP`), so a
|
|
28
|
+
* timeout or error rolls that file back entirely — leaving the database healthy
|
|
29
|
+
* and letting `--from` resume cleanly from the failed file with no duplicate
|
|
30
|
+
* rows. `statement_timeout` is disabled for the session so long inserts are not
|
|
31
|
+
* cut off by the server default.
|
|
32
|
+
*/
|
|
33
|
+
export async function runSeedRemoteCommand(options = {}) {
|
|
34
|
+
const dbUrl = resolveDbUrl(options.dbUrl);
|
|
35
|
+
const { files, patterns } = discoverSeedFiles({
|
|
36
|
+
configPath: options.configPath,
|
|
37
|
+
supabaseDir: options.supabaseDir,
|
|
38
|
+
});
|
|
39
|
+
console.log(sectionWithNote(title('Seed remote'), 'Applies split seed files directly via psql. Each file is atomic, so a failure can be resumed with --from.'));
|
|
40
|
+
if (patterns.length === 0) {
|
|
41
|
+
throw new Error('No [db.seed].sql_paths configured in supabase/config.toml — nothing to seed.');
|
|
42
|
+
}
|
|
43
|
+
if (files.length === 0) {
|
|
44
|
+
throw new Error(`No seed files matched sql_paths: ${patterns.join(', ')}`);
|
|
45
|
+
}
|
|
46
|
+
let queue = files;
|
|
47
|
+
if (options.from) {
|
|
48
|
+
const index = findResumeIndex(files, options.from);
|
|
49
|
+
if (index === -1) {
|
|
50
|
+
throw new Error(`--from file not found in seed queue: ${options.from}`);
|
|
51
|
+
}
|
|
52
|
+
const skipped = index;
|
|
53
|
+
queue = files.slice(index);
|
|
54
|
+
console.log(info(`Resuming from ${files[index].relPath} (skipping ${skipped} already-seeded file(s)).`));
|
|
55
|
+
}
|
|
56
|
+
console.log(info(`Seed queue: ${queue.length} file(s) from ${patterns.length} pattern(s).`));
|
|
57
|
+
console.log('');
|
|
58
|
+
if (options.dryRun) {
|
|
59
|
+
console.log(info('Dry run — ordered seed queue:'));
|
|
60
|
+
queue.forEach((file, i) => console.log(info(` ${String(i + 1).padStart(4)} ${file.relPath}`)));
|
|
61
|
+
console.log('');
|
|
62
|
+
console.log(ok('Dry run complete. No data was seeded.'));
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
for (let i = 0; i < queue.length; i += 1) {
|
|
66
|
+
const file = queue[i];
|
|
67
|
+
console.log(info(`[${i + 1}/${queue.length}] Seeding ${file.relPath}...`));
|
|
68
|
+
try {
|
|
69
|
+
await runCommand('psql', [dbUrl, '-X', '--single-transaction', '-v', 'ON_ERROR_STOP=1', '-f', file.absPath], { env: { PGOPTIONS: '-c statement_timeout=0' } });
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
console.log('');
|
|
73
|
+
console.log(fail(`Failed seeding ${file.relPath}: ${error instanceof Error ? error.message : String(error)}`));
|
|
74
|
+
printResumeHint(file);
|
|
75
|
+
throw new Error(`Remote seeding failed at ${file.relPath}.`);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
console.log('');
|
|
79
|
+
console.log(ok(`Seeded ${queue.length} file(s) successfully.`));
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=seed-remote.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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
|
@@ -6,6 +6,7 @@ import { runDataCommand } from './commands/data.js';
|
|
|
6
6
|
import { runInitCommand } from './commands/init.js';
|
|
7
7
|
import { runSyncCommand } from './commands/sync.js';
|
|
8
8
|
import { runDbResetCommand, runStartCommand } from './commands/db-reset.js';
|
|
9
|
+
import { runSeedRemoteCommand } from './commands/seed-remote.js';
|
|
9
10
|
import { runCutoffDetectCommand } from './commands/cutoff.js';
|
|
10
11
|
import { runMigrationAuditCommand, runMigrationMarkCommand, runMigrationSplitMixedCommand, runMigrationUnmarkCommand, } from './commands/migration.js';
|
|
11
12
|
import { runCommand } from './lib/subprocess.js';
|
|
@@ -29,7 +30,7 @@ function buildStepArgs(step, reconstructed, options = {}) {
|
|
|
29
30
|
return args;
|
|
30
31
|
}
|
|
31
32
|
const KNOWN_TOP_LEVEL_COMMANDS = new Set(['init', 'schema', 'data', 'sync', 'db', 'start', 'cutoff', 'migration', 'help']);
|
|
32
|
-
const KNOWN_DB_SUBCOMMANDS = new Set(['reset', 'help']);
|
|
33
|
+
const KNOWN_DB_SUBCOMMANDS = new Set(['reset', 'seed-remote', 'help']);
|
|
33
34
|
const KNOWN_MIGRATION_SUBCOMMANDS = new Set(['audit', 'mark', 'unmark', 'split-mixed', 'help']);
|
|
34
35
|
function firstNonOptionToken(args) {
|
|
35
36
|
for (let index = 0; index < args.length; index += 1) {
|
|
@@ -250,19 +251,57 @@ dbCommand
|
|
|
250
251
|
.option('--migrations-dir <path>', 'Migrations directory', 'supabase/migrations')
|
|
251
252
|
.option('--temp-dir <path>', 'Temporary directory for deferred migrations', 'supabase/.tmp-migrations')
|
|
252
253
|
.option('--env <name>', 'Environment key used for postSeedCutoffByEnv fallback lookup')
|
|
254
|
+
.option('--linked', 'Reset the linked Supabase project instead of the local database (destructive; prompts for confirmation)')
|
|
255
|
+
.option('--db-url <url>', 'Reset the database at this Postgres connection string instead of local (destructive; prompts for confirmation)')
|
|
256
|
+
.option('--yes', 'Skip the remote-reset confirmation prompt (for CI / non-interactive runs)')
|
|
257
|
+
.option('--resumable-seed', 'Reset with --no-seed, then seed via the resumable direct-psql path (requires --db-url)')
|
|
253
258
|
.addHelpText('after', `
|
|
254
259
|
What This Command Does
|
|
255
260
|
1) Defers migrations with timestamps greater than <cutoffTimestamp>
|
|
256
|
-
2) Runs \`supabase db reset\`
|
|
261
|
+
2) Runs \`supabase db reset\` (add --linked/--db-url to target a remote database)
|
|
257
262
|
3) Restores deferred migration files
|
|
258
263
|
4) Reapplies deferred migrations
|
|
259
264
|
|
|
265
|
+
Remote resets are destructive: they WIPE the target database and reseed it from
|
|
266
|
+
local seed files. They prompt for confirmation; pass --yes to skip the prompt.
|
|
267
|
+
|
|
268
|
+
Large remote datasets: the Supabase seed path can time out and leave the database
|
|
269
|
+
unhealthy. With --resumable-seed (requires --db-url), the reset runs --no-seed,
|
|
270
|
+
then data is loaded file-by-file via direct psql so a timeout can be resumed with
|
|
271
|
+
\`supabee db seed-remote --from <file>\` instead of starting over.
|
|
272
|
+
|
|
260
273
|
Examples
|
|
261
274
|
supabee db reset 20260309180959
|
|
262
275
|
supabee db reset
|
|
263
276
|
supabee db reset 20260309180959 --psql
|
|
277
|
+
supabee db reset --linked
|
|
278
|
+
supabee db reset 20260309180959 --linked --yes
|
|
279
|
+
supabee db reset --db-url "postgresql://...:5432/postgres?sslmode=require" --resumable-seed --yes
|
|
264
280
|
`)
|
|
265
281
|
.action((cutoffTimestamp, options = {}) => runDbResetCommand(cutoffTimestamp, options));
|
|
282
|
+
dbCommand
|
|
283
|
+
.command('seed-remote')
|
|
284
|
+
.description('Seed a remote database from split seed files via psql (resumable on timeout)')
|
|
285
|
+
.option('--db-url <url>', 'Postgres connection string (falls back to SUPABASE_DB_URL / PGURI env)')
|
|
286
|
+
.option('--from <file>', 'Resume from this seed file (inclusive); matches by file name or relative path')
|
|
287
|
+
.option('--dry-run', 'Print the ordered seed queue and exit without seeding')
|
|
288
|
+
.addHelpText('after', `
|
|
289
|
+
What This Command Does
|
|
290
|
+
1) Reads ordered seed files from [db.seed].sql_paths in supabase/config.toml
|
|
291
|
+
2) Runs each file directly via psql, atomically (--single-transaction + ON_ERROR_STOP)
|
|
292
|
+
3) Disables statement_timeout so long inserts are not cut off
|
|
293
|
+
4) On failure, prints a --from command to resume from the failed file
|
|
294
|
+
|
|
295
|
+
Because each file is atomic, a timeout rolls that file back — the remote schema
|
|
296
|
+
stays healthy and resume re-runs the failed file with no duplicate rows. Use the
|
|
297
|
+
direct (5432) connection, not the pooler (6543), so statement_timeout can be unset.
|
|
298
|
+
|
|
299
|
+
Examples
|
|
300
|
+
supabee db seed-remote --db-url "postgresql://...:5432/postgres?sslmode=require"
|
|
301
|
+
supabee db seed-remote --db-url "postgresql://...:5432/postgres" --dry-run
|
|
302
|
+
supabee db seed-remote --db-url "postgresql://...:5432/postgres" --from 015_public_cities_69.sql
|
|
303
|
+
`)
|
|
304
|
+
.action((options = {}) => runSeedRemoteCommand(options));
|
|
266
305
|
program
|
|
267
306
|
.command('start [cutoffTimestamp]')
|
|
268
307
|
.description('Start Supabase with deferred post-seed migrations applied after startup')
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export declare const DEFAULT_SUPABASE_DIR = "supabase";
|
|
2
|
+
export declare const DEFAULT_CONFIG_PATH = "supabase/config.toml";
|
|
3
|
+
export type SeedFile = {
|
|
4
|
+
/** Absolute path on disk. */
|
|
5
|
+
absPath: string;
|
|
6
|
+
/** Path relative to cwd, for display (e.g. supabase/seeds/split/001.sql). */
|
|
7
|
+
relPath: string;
|
|
8
|
+
/** Just the file name (e.g. 001.sql), used for --from matching. */
|
|
9
|
+
basename: string;
|
|
10
|
+
};
|
|
11
|
+
export type SeedDiscovery = {
|
|
12
|
+
/** Ordered seed files, ready to apply. */
|
|
13
|
+
files: SeedFile[];
|
|
14
|
+
/** The raw sql_paths globs from config.toml, in declared order. */
|
|
15
|
+
patterns: string[];
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Read `sql_paths` from the `[db.seed]` table of a Supabase config.toml.
|
|
19
|
+
* Handles both single-line and multi-line array literals. Returns [] if absent.
|
|
20
|
+
*/
|
|
21
|
+
export declare function readSeedSqlPaths(configPath: string): string[];
|
|
22
|
+
/**
|
|
23
|
+
* Discover the ordered seed file queue from a Supabase project's config.toml.
|
|
24
|
+
* Patterns are expanded in declared order; files within each pattern are sorted
|
|
25
|
+
* lexically and de-duplicated across patterns (first occurrence wins).
|
|
26
|
+
*/
|
|
27
|
+
export declare function discoverSeedFiles(options?: {
|
|
28
|
+
configPath?: string;
|
|
29
|
+
supabaseDir?: string;
|
|
30
|
+
cwd?: string;
|
|
31
|
+
}): SeedDiscovery;
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
export const DEFAULT_SUPABASE_DIR = 'supabase';
|
|
4
|
+
export const DEFAULT_CONFIG_PATH = 'supabase/config.toml';
|
|
5
|
+
/** Extract quoted string entries from a TOML array literal (single or multi-line). */
|
|
6
|
+
function parseTomlArrayString(value) {
|
|
7
|
+
const matches = value.matchAll(/['"]([^'"]+)['"]/g);
|
|
8
|
+
return Array.from(matches, (match) => match[1]);
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Read `sql_paths` from the `[db.seed]` table of a Supabase config.toml.
|
|
12
|
+
* Handles both single-line and multi-line array literals. Returns [] if absent.
|
|
13
|
+
*/
|
|
14
|
+
export function readSeedSqlPaths(configPath) {
|
|
15
|
+
let content;
|
|
16
|
+
try {
|
|
17
|
+
content = fs.readFileSync(configPath, 'utf8');
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
throw new Error(`Could not read Supabase config: ${configPath}`);
|
|
21
|
+
}
|
|
22
|
+
const lines = content.split('\n');
|
|
23
|
+
const start = lines.findIndex((line) => line.trim() === '[db.seed]');
|
|
24
|
+
if (start === -1)
|
|
25
|
+
return [];
|
|
26
|
+
for (let i = start + 1; i < lines.length; i += 1) {
|
|
27
|
+
const trimmed = lines[i].trim();
|
|
28
|
+
if (trimmed.startsWith('['))
|
|
29
|
+
break; // next table — sql_paths not found
|
|
30
|
+
if (!trimmed.startsWith('sql_paths'))
|
|
31
|
+
continue;
|
|
32
|
+
// Accumulate from the '=' until the closing ']' (array may span lines).
|
|
33
|
+
let raw = lines[i].slice(lines[i].indexOf('=') + 1);
|
|
34
|
+
let cursor = i;
|
|
35
|
+
while (!raw.includes(']') && cursor + 1 < lines.length) {
|
|
36
|
+
cursor += 1;
|
|
37
|
+
raw += `\n${lines[cursor]}`;
|
|
38
|
+
}
|
|
39
|
+
return parseTomlArrayString(raw);
|
|
40
|
+
}
|
|
41
|
+
return [];
|
|
42
|
+
}
|
|
43
|
+
/** Convert one path segment glob (only `*` is special) to an anchored RegExp. */
|
|
44
|
+
function segmentToRegExp(segment) {
|
|
45
|
+
const escaped = segment.replace(/[.+^${}()|[\]\\]/g, '\\$&').replace(/\*/g, '[^/]*');
|
|
46
|
+
return new RegExp(`^${escaped}$`);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Expand a glob pattern against baseDir. A `*` is special within any path
|
|
50
|
+
* segment (file or directory), so patterns like "seeds/split/[star].sql" or a
|
|
51
|
+
* one-level directory wildcard "seeding_sql/[star]/[star].seed.sql" both work.
|
|
52
|
+
* Returns absolute file paths, lexically sorted — matching how Supabase orders
|
|
53
|
+
* globbed seed files.
|
|
54
|
+
*/
|
|
55
|
+
function expandGlob(baseDir, pattern) {
|
|
56
|
+
const normalized = pattern.replace(/^\.\//, '');
|
|
57
|
+
const segments = normalized.split('/').filter((segment) => segment.length > 0);
|
|
58
|
+
let current = [baseDir];
|
|
59
|
+
for (let i = 0; i < segments.length; i += 1) {
|
|
60
|
+
const isLast = i === segments.length - 1;
|
|
61
|
+
const matcher = segmentToRegExp(segments[i]);
|
|
62
|
+
const next = [];
|
|
63
|
+
for (const dir of current) {
|
|
64
|
+
let entries;
|
|
65
|
+
try {
|
|
66
|
+
entries = fs.readdirSync(dir, { withFileTypes: true });
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
for (const entry of entries) {
|
|
72
|
+
if (!matcher.test(entry.name))
|
|
73
|
+
continue;
|
|
74
|
+
const full = path.join(dir, entry.name);
|
|
75
|
+
if (isLast) {
|
|
76
|
+
if (entry.isFile())
|
|
77
|
+
next.push(full);
|
|
78
|
+
}
|
|
79
|
+
else if (entry.isDirectory()) {
|
|
80
|
+
next.push(full);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
current = next;
|
|
85
|
+
}
|
|
86
|
+
return current.sort();
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Discover the ordered seed file queue from a Supabase project's config.toml.
|
|
90
|
+
* Patterns are expanded in declared order; files within each pattern are sorted
|
|
91
|
+
* lexically and de-duplicated across patterns (first occurrence wins).
|
|
92
|
+
*/
|
|
93
|
+
export function discoverSeedFiles(options = {}) {
|
|
94
|
+
const cwd = options.cwd ?? process.cwd();
|
|
95
|
+
const configPath = path.resolve(cwd, options.configPath ?? DEFAULT_CONFIG_PATH);
|
|
96
|
+
const supabaseDir = path.resolve(cwd, options.supabaseDir ?? DEFAULT_SUPABASE_DIR);
|
|
97
|
+
const patterns = readSeedSqlPaths(configPath);
|
|
98
|
+
const seen = new Set();
|
|
99
|
+
const files = [];
|
|
100
|
+
for (const pattern of patterns) {
|
|
101
|
+
for (const absPath of expandGlob(supabaseDir, pattern)) {
|
|
102
|
+
if (seen.has(absPath))
|
|
103
|
+
continue;
|
|
104
|
+
seen.add(absPath);
|
|
105
|
+
files.push({
|
|
106
|
+
absPath,
|
|
107
|
+
relPath: path.relative(cwd, absPath),
|
|
108
|
+
basename: path.basename(absPath),
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return { files, patterns };
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=seed-files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seed-files.js","sourceRoot":"","sources":["../../src/lib/seed-files.ts"],"names":[],"mappings":"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"}
|