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 CHANGED
@@ -4,25 +4,28 @@
4
4
  [![npm version](https://img.shields.io/npm/v/supabee)](https://www.npmjs.com/package/supabee)
5
5
  [![license](https://img.shields.io/npm/l/supabee)](./LICENSE)
6
6
 
7
- Orchestrate local Supabase schema/data workflows: split giant SQL dumps into organized files, and apply post-seed migrations in a production-like order.
7
+ Orchestrate Supabase schema, seed, migration, and reset workflows: split giant SQL dumps into organized files, replay post-seed migrations in production-like order, and reset linked remote databases with resumable seeding.
8
8
 
9
9
  ## Why?
10
10
 
11
- Supabase workflows often end up with two pain points:
11
+ Supabase workflows often end up with three pain points:
12
12
 
13
13
  1. **One huge dump file** (`supabase db dump` / `--data-only`) that's painful to review, edit, or selectively seed from.
14
14
  2. **Local reset/start ordering** (migrations → seeds) that can diverge from production deploys (new migrations applied onto an already-populated database).
15
+ 3. **Remote seed timeouts** that can leave a reset incomplete and force a large dataset to restart from the beginning.
15
16
 
16
- `supabee` addresses both:
17
+ `supabee` addresses all three:
17
18
 
18
19
  - **Split + validate dumps:** split schema and data dumps into focused files (by category / by table), then reconstruct and validate round-trip (PR-friendly diffs, easier navigation, and smaller merge conflicts).
19
20
  - **Defer post-seed migrations:** temporarily move newer migrations out of the way for `supabase db reset` / `supabase start`, then restore + reapply them after seeds load.
21
+ - **Reset linked databases safely:** rebuild the schema without seeding, load seed files atomically through `psql`, and resume from the failed file instead of restarting the entire dataset.
20
22
 
21
23
  ### Use cases
22
24
 
23
25
  - **Seed data you can control:** keep per-table seed files and point `[db.seed].sql_paths` at only the ones you want.
24
26
  - **Schema as docs / source of truth:** keep schema readable in-repo (tables, functions, RLS, permissions, etc.).
25
27
  - **Mimic production locally:** catch “works on reset” vs “works on deploy” issues by applying post-seed migrations after data exists.
28
+ - **Reset staging/throwaway remotes:** use the linked project with resumable file-by-file seeding and explicit destructive confirmation.
26
29
  - **One-liners with validation:** `sync schema` / `sync data` run dump → split → reconstruct → validate.
27
30
 
28
31
  ### Repo hygiene (recommended)
@@ -41,7 +44,7 @@ supabase/seeds/reconstructed-data.sql
41
44
 
42
45
  ## Prerequisites
43
46
 
44
- - [Node.js](https://nodejs.org/) >= 18
47
+ - [Node.js](https://nodejs.org/) >= 20.11
45
48
  - [Supabase CLI](https://supabase.com/docs/guides/cli/getting-started) installed and authenticated
46
49
 
47
50
  ## Install
@@ -68,6 +71,13 @@ Project-local install (optional):
68
71
  npm install --save-dev supabee
69
72
  ```
70
73
 
74
+ Upgrade a global installation:
75
+
76
+ ```bash
77
+ npm install -g supabee@latest
78
+ supabee --version
79
+ ```
80
+
71
81
  ## Setup
72
82
 
73
83
  ### 1. Initialize config
@@ -96,13 +106,17 @@ You'll be prompted for your project ref and database password. See the [Supabase
96
106
  supabee sync schema
97
107
  supabee sync data
98
108
  supabee db reset [cutoff_timestamp]
109
+ supabee db reset --linked
99
110
  supabee start [cutoff_timestamp]
100
111
  ```
101
112
 
102
- `sync` commands run end-to-end:
113
+ With `--sync`, each command runs end-to-end against the linked project:
103
114
 
104
115
  - schema: `supabase db dump` -> split -> reconstruct -> validate
105
116
  - data: `supabase db dump --data-only` -> split -> reconstruct -> validate
117
+ - linked reset: defer migrations -> reset without seed -> seed atomically via `psql` -> reapply migrations
118
+
119
+ Use `--no-sync` with either `sync` subcommand to process an existing local dump instead of fetching one. The top-level `supabee schema` and `supabee data` commands remain available for the same local-file workflow.
106
120
 
107
121
  ### Selective seeding example (optional)
108
122
 
@@ -185,6 +199,12 @@ supabee sync schema --backup
185
199
  supabee sync schema --force
186
200
  ```
187
201
 
202
+ Add `--no-sync` to process an existing local dump rather than calling `supabase db dump`:
203
+
204
+ ```bash
205
+ supabee sync schema --no-sync --input supabase/schemas/prod-schemas.sql
206
+ ```
207
+
188
208
  ### `sync data`
189
209
 
190
210
  Dumps data (`--data-only`) from the linked Supabase project, then runs full data processing:
@@ -197,6 +217,12 @@ supabee sync data --no-backup
197
217
  supabee sync data --force
198
218
  ```
199
219
 
220
+ Add `--no-sync` to process an existing local data dump:
221
+
222
+ ```bash
223
+ supabee sync data --no-sync --input supabase/seeds/prod-data.sql
224
+ ```
225
+
200
226
  ### `db reset`
201
227
 
202
228
  Defers post-seed migrations newer than the cutoff timestamp, runs `supabase db reset`, restores deferred migrations, then reapplies them.
@@ -221,9 +247,17 @@ Before doing any work, a remote reset prompts for confirmation (`Reset <target>?
221
247
 
222
248
  For `--linked`, Supabee reads a port-5432 database URL from `SUPABASE_DB_URL` or `PGURI`, or securely prompts for it when running interactively. Use **Direct connection** when IPv6 is available or **Session pooler** on IPv4-only networks. Do not use **Transaction pooler** on port 6543. The URL is needed because resumable seeding runs `psql` directly and the Supabase CLI does not expose the linked project's database password. Non-interactive runs must provide one of those environment variables.
223
249
 
250
+ Find the URL in **Supabase Dashboard → your project → Connect**:
251
+
252
+ When you enter the URL at the interactive prompt, Supabee offers to add `/postgres` and `sslmode=require` if either is missing. Press Enter or `Y` to accept, or `n` to keep your input. Existing database names and SSL settings are preserved. URLs supplied through `--db-url` or environment variables are used as provided.
253
+
254
+ - **Direct connection (`:5432`)** for networks with IPv6.
255
+ - **Session pooler (`:5432`)** for IPv4-only networks.
256
+ - Never use **Transaction pooler (`:6543`)** for this workflow.
257
+
224
258
  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.
225
259
 
226
- **Resumable remote datasets.** `--linked` uses this workflow automatically. With an explicit target, add `--resumable-seed` (requires `--db-url`). Supabee 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.
260
+ **Resumable remote datasets.** Both `--linked` and `--db-url` enable resumable seeding automatically. Supabee runs `supabase db reset --no-seed`, seeds the data file-by-file via `psql`, then reapplies the post-cutoff migrations. This requires `psql` and a Direct connection or Session pooler on port 5432. Because each seed file is atomic, a failure rolls that file back and you resume from it with [`db seed-remote --from`](#db-seed-remote) instead of redoing the whole load. The older `--resumable-seed` flag is still accepted but is no longer needed. See [`db seed-remote`](#db-seed-remote) for the seeding mechanics.
227
261
 
228
262
  ```bash
229
263
  # default re-apply mode: supabase migration up
@@ -237,13 +271,14 @@ supabee db reset 20260309180959 --psql
237
271
  # strict mixed policy
238
272
  supabee db reset --strict-mixed
239
273
 
240
- # remote reset (destructive; prompts for confirmation)
274
+ # linked remote reset: resumable by default; prompts for URL + confirmation
241
275
  supabee db reset --linked
242
- supabee db reset 20260309180959 --linked --yes # skip prompt (CI)
243
- supabee db reset --db-url "postgres://..." --yes
244
276
 
245
- # large remote datasets: no-seed reset + resumable direct-psql seeding + reapply
246
- supabee db reset --db-url "postgresql://...:5432/postgres?sslmode=require" --resumable-seed --yes
277
+ # linked remote reset in CI (URL must come from the environment)
278
+ SUPABASE_DB_URL="postgresql://...:5432/postgres?sslmode=require" supabee db reset --linked --yes
279
+
280
+ # explicit remote target with resumable seeding
281
+ supabee db reset --db-url "postgresql://...:5432/postgres?sslmode=require" --yes
247
282
  ```
248
283
 
249
284
  ### `db seed-remote`
@@ -275,7 +310,7 @@ supabee db seed-remote --db-url "postgresql://...:5432/postgres?sslmode=require"
275
310
  supabee db seed-remote --db-url "postgresql://...:5432/postgres?sslmode=require" --from 015_public_cities_69.sql
276
311
  ```
277
312
 
278
- > 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.
313
+ > Remote resets with either `db reset --linked` or `db reset --db-url <url>` use resumable seeding automatically. Reach for `db seed-remote` standalone to resume a failed seed or to seed without a reset.
279
314
 
280
315
  ### `start`
281
316
 
@@ -375,7 +410,7 @@ supabee db dump # forwards to: supabase db dump
375
410
 
376
411
  ### Overriding paths
377
412
 
378
- `schema`, `data`, and `sync` commands accept `--input` and `--output` flags:
413
+ `schema` and `data` accept `--input` and `--output` flags in either local-file mode or `--sync` mode:
379
414
 
380
415
  ```bash
381
416
  supabee schema split --input path/to/schema.sql --output path/to/split
@@ -423,6 +458,7 @@ Legacy support: `supabase-splitter.config.json` is still recognized, but `supabe
423
458
  "maxLinesPerFile": 2000,
424
459
  "maxStatementsPerFile": 20,
425
460
  "maxRowsPerInsert": 200,
461
+ "maxBytesPerFile": 2097152,
426
462
  "tableRules": {},
427
463
  "keepFiles": [],
428
464
  "ignoreInReconstruct": []
@@ -447,6 +483,7 @@ Legacy support: `supabase-splitter.config.json` is still recognized, but `supabe
447
483
  | `data.maxLinesPerFile` | Max lines per split file (default: 2000) |
448
484
  | `data.maxStatementsPerFile` | Max INSERT statements per file (default: 20) |
449
485
  | `data.maxRowsPerInsert` | Max rows per INSERT statement (default: 200) |
486
+ | `data.maxBytesPerFile` | Approximate maximum UTF-8 bytes per split file (default: 2 MiB) |
450
487
  | `data.tableRules` | Per-table overrides (see below) |
451
488
  | `data.keepFiles` | Files in the split dir to preserve across re-splits |
452
489
  | `data.ignoreInReconstruct` | Files to skip during reconstruction |
@@ -467,7 +504,8 @@ Override limits or skip specific tables:
467
504
  "public.cities": {
468
505
  "maxLinesPerFile": 800,
469
506
  "maxStatementsPerFile": 8,
470
- "maxRowsPerInsert": 80
507
+ "maxRowsPerInsert": 80,
508
+ "maxBytesPerFile": 1048576
471
509
  },
472
510
  "public.audit_logs": {
473
511
  "skip": true
@@ -479,13 +517,16 @@ Override limits or skip specific tables:
479
517
 
480
518
  ## Flags
481
519
 
482
- `schema`, `data`, `sync schema`, and `sync data` support:
520
+ `sync schema` and `sync data` support these options:
483
521
 
484
- - `--input`: source SQL file
485
- - `--output`: output path (split dir for `split`, reconstructed file for `reconstruct`/`validate`)
522
+ - `--input`: destination for the fresh dump, or local source SQL file with `--no-sync`
523
+ - `--output`: split directory, or reconstructed file for `reconstruct`/`validate`
486
524
  - `--backup`: create backup of dirty split directory before running split
487
525
  - `--no-backup`: disable backup of dirty split directory before running split
488
- - `--force` (sync commands only): skip linked migration alignment preflight
526
+ - `--no-sync`: process the local source SQL file without fetching a linked dump
527
+ - `--force`: skip linked migration alignment preflight; cannot be combined with `--no-sync`
528
+
529
+ `--no-sync` skips the dump step but still runs split → reconstruct → validate. The top-level `schema` and `data` commands expose individual processing steps.
489
530
 
490
531
  For `validate`, you can pass reconstructed path either as `--output <path>` or as the second positional argument.
491
532
 
@@ -496,6 +537,11 @@ For `validate`, you can pass reconstructed path either as `--output <path>` or a
496
537
  - `--migrations-dir <path>`: override migrations directory (default `supabase/migrations`)
497
538
  - `--temp-dir <path>`: override temporary defer directory (default `supabase/.tmp-migrations`)
498
539
  - `--env <name>`: use `postSeedCutoffByEnv.<name>` as fallback cutoff source
540
+ - `--linked`: reset the linked remote project using resumable seeding; prompts for a port-5432 database URL and confirmation
541
+ - `--db-url <url>`: target an explicit remote Postgres connection instead of the local database
542
+ - `--yes`: skip the destructive remote-reset confirmation (non-interactive linked runs still require `SUPABASE_DB_URL` or `PGURI`)
543
+ - `--resumable-seed`: compatibility flag; all remote resets already reset with `--no-seed`, seed file-by-file through `psql`, then reapply deferred migrations
544
+ - `--keep-triggers`: preserve triggers and FK enforcement during resumable seeding instead of using restore-style defaults
499
545
 
500
546
  `start` supports:
501
547
 
@@ -544,13 +590,14 @@ Recommended approach:
544
590
  supabee --help
545
591
  supabee init --help
546
592
  supabee sync --help
547
- supabee sync schema --help
548
- supabee sync data --help
593
+ supabee schema --help
594
+ supabee data --help
549
595
  supabee schema --help
550
596
  supabee data --help
551
597
  supabee start --help
552
598
  supabee db --help
553
599
  supabee db reset --help
600
+ supabee db seed-remote --help
554
601
  supabee cutoff detect --help
555
602
  supabee migration audit --help
556
603
  supabee migration mark --help
@@ -569,4 +616,4 @@ npm run test
569
616
  npm run pack:check
570
617
  ```
571
618
 
572
- RC gate checklist: `docs/rc-checklist.md`
619
+ Package releases use a bot-managed release PR: merging it creates the tag and triggers checked npm publishing. Vercel deploys the docs independently. See the [Publishing runbook](docs/publishing.md) for setup, commands, and verification.
@@ -1,6 +1,7 @@
1
1
  import fs from 'node:fs';
2
2
  import path from 'node:path';
3
- import readline from 'node:readline';
3
+ import { readSqlLines } from '../lib/sql-lines.js';
4
+ import { SqlStatementBoundary } from '../lib/sql-statement-boundary.js';
4
5
  import { info, ok, error as errText } from '../lib/ui.js';
5
6
  import { resolveCommandConfig } from '../lib/config.js';
6
7
  import { prepareSplitOutputDir } from '../lib/output.js';
@@ -30,7 +31,6 @@ function countRowsInInsertStatement(statement) {
30
31
  for (const line of valueLines) {
31
32
  for (let i = 0; i < line.length; i += 1) {
32
33
  const char = line[i];
33
- const prevChar = i > 0 ? line[i - 1] : '';
34
34
  if (!inString) {
35
35
  if (char === "'" || char === '"') {
36
36
  inString = true;
@@ -43,7 +43,7 @@ function countRowsInInsertStatement(statement) {
43
43
  parenCount -= 1;
44
44
  }
45
45
  }
46
- else if (char === stringChar && prevChar !== '\\') {
46
+ else if (char === stringChar) {
47
47
  inString = false;
48
48
  stringChar = '';
49
49
  }
@@ -76,7 +76,6 @@ function breakDownInsertStatement(statement, tableName, maxRowsPerInsert, maxByt
76
76
  for (const line of valueLines) {
77
77
  for (let i = 0; i < line.length; i += 1) {
78
78
  const char = line[i];
79
- const prevChar = i > 0 ? line[i - 1] : '';
80
79
  if (!inString) {
81
80
  if (char === "'" || char === '"') {
82
81
  inString = true;
@@ -89,7 +88,7 @@ function breakDownInsertStatement(statement, tableName, maxRowsPerInsert, maxByt
89
88
  parenCount -= 1;
90
89
  }
91
90
  }
92
- else if (char === stringChar && prevChar !== '\\') {
91
+ else if (char === stringChar) {
93
92
  inString = false;
94
93
  stringChar = '';
95
94
  }
@@ -99,7 +98,7 @@ function breakDownInsertStatement(statement, tableName, maxRowsPerInsert, maxByt
99
98
  currentRow = '';
100
99
  }
101
100
  }
102
- if (currentRow.trim() && !currentRow.endsWith('\n'))
101
+ if (currentRow.trim())
103
102
  currentRow += '\n';
104
103
  }
105
104
  if (currentRow.trim())
@@ -108,7 +107,7 @@ function breakDownInsertStatement(statement, tableName, maxRowsPerInsert, maxByt
108
107
  if (valueRows.length <= maxRowsPerInsert && (!hasBytesLimit || countBytes(statement) <= maxBytesPerFile)) {
109
108
  return [statement];
110
109
  }
111
- const headerBytes = countBytes(header) + 2; // account for the trailing "\n\t"
110
+ const headerBytes = countBytes(header) + 2;
112
111
  const chunks = [];
113
112
  let currentChunkRows = [];
114
113
  let currentChunkBytes = headerBytes;
@@ -120,7 +119,7 @@ function breakDownInsertStatement(statement, tableName, maxRowsPerInsert, maxByt
120
119
  currentChunkBytes = headerBytes;
121
120
  };
122
121
  for (const row of valueRows) {
123
- const rowBytes = countBytes(row) + 2; // account for the ",\n\t" separator
122
+ const rowBytes = countBytes(row) + 2;
124
123
  const wouldExceedRows = currentChunkRows.length >= maxRowsPerInsert;
125
124
  const wouldExceedBytes = hasBytesLimit && currentChunkRows.length > 0 && currentChunkBytes + rowBytes > maxBytesPerFile;
126
125
  if (wouldExceedRows || wouldExceedBytes)
@@ -132,44 +131,34 @@ function breakDownInsertStatement(statement, tableName, maxRowsPerInsert, maxByt
132
131
  console.log(info(`Broke down ${tableName} INSERT statement: ${valueRows.length} rows -> ${chunks.length} statements`));
133
132
  return chunks;
134
133
  }
135
- // Streams the file line-by-line instead of reading it into a single string.
136
- // Large seed dumps (>512 MiB) exceed V8's max string length, so a whole-file
137
- // read throws "Cannot create a string longer than 0x1fffffe8 characters".
138
134
  async function parseSeedFile(filePath) {
139
135
  const tableContent = {};
140
136
  const sequenceLines = [];
141
137
  let currentTable = null;
142
138
  let currentStatement = [];
143
139
  let inInsertStatement = false;
140
+ let boundary = new SqlStatementBoundary();
144
141
  let lineCount = 0;
145
- const rl = readline.createInterface({
146
- input: fs.createReadStream(filePath, { encoding: 'utf8' }),
147
- crlfDelay: Infinity,
148
- });
149
- for await (const line of rl) {
142
+ const lines = readSqlLines(fs.createReadStream(filePath, { encoding: 'utf8' }));
143
+ for await (const line of lines) {
150
144
  lineCount += 1;
151
- // Sequence detection mirrors the original whole-file filter: it runs on
152
- // every line, independent of INSERT-statement parsing.
153
- if (line.includes('SEQUENCE SET') || (line.trim().startsWith('SELECT') && line.includes('setval'))) {
145
+ if (!inInsertStatement && (line.includes('SEQUENCE SET') || (line.trim().startsWith('SELECT') && line.includes('setval')))) {
154
146
  sequenceLines.push(line);
155
147
  }
156
148
  if (!inInsertStatement && (line.trim().startsWith('--') || line.trim() === ''))
157
149
  continue;
158
- const insertMatch = line.match(/^INSERT\s+INTO\s+(["`']?)([^."`'\s(]+)\1\.(["`']?)([^."`'\s(]+)\3/i);
150
+ const insertMatch = inInsertStatement
151
+ ? null
152
+ : line.match(/^INSERT\s+INTO\s+(["`']?)([^."`'\s(]+)\1\.(["`']?)([^."`'\s(]+)\3/i);
159
153
  if (insertMatch) {
160
- if (inInsertStatement && currentTable && currentStatement.length > 0) {
161
- if (!tableContent[currentTable])
162
- tableContent[currentTable] = [];
163
- tableContent[currentTable].push(currentStatement.join('\n'));
164
- }
165
154
  currentTable = `${insertMatch[2]}.${insertMatch[4]}`;
166
- currentStatement = [line];
155
+ currentStatement = [];
167
156
  inInsertStatement = true;
168
- continue;
157
+ boundary = new SqlStatementBoundary();
169
158
  }
170
159
  if (inInsertStatement) {
171
160
  currentStatement.push(line);
172
- if (line.trim().endsWith(';') && currentTable) {
161
+ if (boundary.consumeLine(line) && currentTable) {
173
162
  if (!tableContent[currentTable])
174
163
  tableContent[currentTable] = [];
175
164
  tableContent[currentTable].push(currentStatement.join('\n'));
@@ -185,8 +174,6 @@ async function parseSeedFile(filePath) {
185
174
  }
186
175
  return { tableContent, sequenceLines, lineCount };
187
176
  }
188
- // Promise wrapper around stream.write so we can serialize chunked writes and
189
- // surface backpressure/errors with await.
190
177
  function writeChunk(stream, chunk) {
191
178
  return new Promise((resolve, reject) => {
192
179
  stream.write(chunk, (err) => (err ? reject(err) : resolve()));
@@ -316,8 +303,6 @@ async function reconstructData(config) {
316
303
  .filter((file) => file.endsWith('.sql'))
317
304
  .filter((file) => !shouldIgnoreFile(file, config.ignoreInReconstruct))
318
305
  .sort((a, b) => a.localeCompare(b));
319
- // Stream the joined output so a >512 MiB reconstruction never has to exist
320
- // as a single in-memory string. Mirrors `${contents.join('\n\n')}\n`.
321
306
  const out = fs.createWriteStream(config.reconstructedFile, { encoding: 'utf8' });
322
307
  const finished = new Promise((resolve, reject) => {
323
308
  out.on('error', reject);
@@ -1 +1 @@
1
- {"version":3,"file":"data.js","sourceRoot":"","sources":["../../src/commands/data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data.js","sourceRoot":"","sources":["../../src/commands/data.ts"],"names":[],"mappings":"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"}
@@ -4,15 +4,10 @@ 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
7
  linked?: boolean;
9
- /** Target an explicit Postgres connection string instead of the local database (reset only). */
10
8
  dbUrl?: string;
11
- /** Skip the interactive remote-reset confirmation prompt (for CI / non-interactive runs). */
12
9
  yes?: boolean;
13
- /** Reset with --no-seed, then seed via the resumable direct-psql path. Implicit with --linked. */
14
10
  resumableSeed?: boolean;
15
- /** Keep triggers/FK checks active during resumable seeding (default: disabled, like a restore). */
16
11
  keepTriggers?: boolean;
17
12
  };
18
13
  export declare function runDbResetCommand(cutoffTimestampRaw: string | undefined, options?: PostSeedCommandOptions): Promise<void>;