sqlew 4.0.1 → 4.0.2
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/CHANGELOG.md +86 -0
- package/README.md +12 -8
- package/dist/cli/db-dump.d.ts +4 -0
- package/dist/cli/db-dump.d.ts.map +1 -1
- package/dist/cli/db-dump.js +89 -114
- package/dist/cli/db-dump.js.map +1 -1
- package/dist/cli/db-export.d.ts +1 -0
- package/dist/cli/db-export.d.ts.map +1 -1
- package/dist/cli/db-export.js +46 -80
- package/dist/cli/db-export.js.map +1 -1
- package/dist/cli/db-import.d.ts +1 -0
- package/dist/cli/db-import.d.ts.map +1 -1
- package/dist/cli/db-import.js +52 -90
- package/dist/cli/db-import.js.map +1 -1
- package/dist/cli.d.ts +10 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +57 -59
- package/dist/cli.js.map +1 -1
- package/dist/database/migrations/v4/20251127000002_v4_seed_help_system.d.ts.map +1 -1
- package/dist/database/migrations/v4/20251127000002_v4_seed_help_system.js +7 -4
- package/dist/database/migrations/v4/20251127000002_v4_seed_help_system.js.map +1 -1
- package/dist/database/operations/inserts.d.ts.map +1 -1
- package/dist/database/operations/inserts.js +7 -0
- package/dist/database/operations/inserts.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +70 -48
- package/dist/index.js.map +1 -1
- package/dist/tests/database/testing-config.d.ts +4 -0
- package/dist/tests/database/testing-config.d.ts.map +1 -1
- package/dist/tests/database/testing-config.js +1 -1
- package/dist/tests/database/testing-config.js.map +1 -1
- package/dist/tests/docker/native/test-harness.d.ts +56 -1
- package/dist/tests/docker/native/test-harness.d.ts.map +1 -1
- package/dist/tests/docker/native/test-harness.js +221 -5
- package/dist/tests/docker/native/test-harness.js.map +1 -1
- package/dist/tests/unit/utils/case-insensitive-validator.test.d.ts +2 -0
- package/dist/tests/unit/utils/case-insensitive-validator.test.d.ts.map +1 -0
- package/dist/tests/unit/utils/case-insensitive-validator.test.js +97 -0
- package/dist/tests/unit/utils/case-insensitive-validator.test.js.map +1 -0
- package/dist/tools/context/actions/create-policy.d.ts.map +1 -1
- package/dist/tools/context/actions/create-policy.js +5 -1
- package/dist/tools/context/actions/create-policy.js.map +1 -1
- package/dist/types.d.ts +10 -6
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/case-insensitive-validator.d.ts +102 -0
- package/dist/utils/case-insensitive-validator.d.ts.map +1 -0
- package/dist/utils/case-insensitive-validator.js +144 -0
- package/dist/utils/case-insensitive-validator.js.map +1 -0
- package/dist/utils/exporter/export.d.ts +22 -7
- package/dist/utils/exporter/export.d.ts.map +1 -1
- package/dist/utils/exporter/export.js +33 -49
- package/dist/utils/exporter/export.js.map +1 -1
- package/dist/utils/importer/import.js +64 -27
- package/dist/utils/importer/import.js.map +1 -1
- package/dist/utils/importer/master-tables.d.ts +3 -1
- package/dist/utils/importer/master-tables.d.ts.map +1 -1
- package/dist/utils/importer/master-tables.js +7 -29
- package/dist/utils/importer/master-tables.js.map +1 -1
- package/dist/utils/sql-dump/core/generate-dump.d.ts.map +1 -1
- package/dist/utils/sql-dump/core/generate-dump.js +25 -5
- package/dist/utils/sql-dump/core/generate-dump.js.map +1 -1
- package/dist/utils/sql-dump/core/index-export.d.ts +3 -2
- package/dist/utils/sql-dump/core/index-export.d.ts.map +1 -1
- package/dist/utils/sql-dump/core/index-export.js +9 -9
- package/dist/utils/sql-dump/core/index-export.js.map +1 -1
- package/dist/utils/sql-dump/schema/indexes.d.ts +14 -0
- package/dist/utils/sql-dump/schema/indexes.d.ts.map +1 -1
- package/dist/utils/sql-dump/schema/indexes.js +81 -15
- package/dist/utils/sql-dump/schema/indexes.js.map +1 -1
- package/dist/utils/sql-dump/schema/tables.d.ts +4 -1
- package/dist/utils/sql-dump/schema/tables.d.ts.map +1 -1
- package/dist/utils/sql-dump/schema/tables.js +81 -51
- package/dist/utils/sql-dump/schema/tables.js.map +1 -1
- package/docs/cli/DATABASE_MIGRATION.md +62 -58
- package/docs/cli/DATA_EXPORT_IMPORT.md +403 -103
- package/docs/cli/README.md +95 -45
- package/package.json +4 -6
|
@@ -204,11 +204,28 @@ function buildColumnDefinition(col, targetFormat) {
|
|
|
204
204
|
}
|
|
205
205
|
}
|
|
206
206
|
// Handle AUTO_INCREMENT for MySQL
|
|
207
|
-
|
|
207
|
+
// SQLite source: INTEGER PRIMARY KEY columns are implicitly auto-increment
|
|
208
|
+
const isIntegerPrimaryKey = col.is_primary_key &&
|
|
209
|
+
(col.data_type.toUpperCase().includes('INTEGER') || col.data_type.toUpperCase() === 'INT');
|
|
210
|
+
const isAutoIncrement = col.is_generated || isIntegerPrimaryKey;
|
|
211
|
+
if (targetFormat === 'mysql' && isAutoIncrement && col.generation_expression === null) {
|
|
208
212
|
if (!def.includes('AUTO_INCREMENT')) {
|
|
209
213
|
def += ' AUTO_INCREMENT';
|
|
210
214
|
}
|
|
211
215
|
}
|
|
216
|
+
// Handle SERIAL for PostgreSQL (when source is MySQL/SQLite with auto-increment)
|
|
217
|
+
// SERIAL = INTEGER + AUTO_INCREMENT sequence
|
|
218
|
+
if (targetFormat === 'postgresql' && isAutoIncrement && col.generation_expression === null) {
|
|
219
|
+
// Replace INT/INTEGER/BIGINT with SERIAL/BIGSERIAL
|
|
220
|
+
if (!def.includes('SERIAL')) {
|
|
221
|
+
if (dataType.toUpperCase() === 'BIGINT') {
|
|
222
|
+
def = def.replace(/BIGINT/i, 'BIGSERIAL');
|
|
223
|
+
}
|
|
224
|
+
else if (dataType.toUpperCase() === 'INT' || dataType.toUpperCase() === 'INTEGER') {
|
|
225
|
+
def = def.replace(/\bINT(EGER)?\b/i, 'SERIAL');
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}
|
|
212
229
|
// Handle UNIQUE constraint (skip if already PRIMARY KEY)
|
|
213
230
|
if (col.is_unique && !col.is_primary_key) {
|
|
214
231
|
def += ' UNIQUE';
|
|
@@ -239,37 +256,50 @@ function buildForeignKeyDefinition(fk, targetFormat) {
|
|
|
239
256
|
}
|
|
240
257
|
/**
|
|
241
258
|
* Get all table names from the database (excluding system tables)
|
|
259
|
+
* @param knex Knex instance
|
|
260
|
+
* @param includeKnexTables Include knex_* migration tables
|
|
261
|
+
* @param tablePrefix Filter tables by prefix (default: 'v4_' for v4 schema only)
|
|
242
262
|
*/
|
|
243
|
-
export async function getAllTables(knex, includeKnexTables = false) {
|
|
263
|
+
export async function getAllTables(knex, includeKnexTables = false, tablePrefix = 'v4_') {
|
|
244
264
|
const client = knex.client.config.client;
|
|
265
|
+
let tables = [];
|
|
245
266
|
if (client === 'better-sqlite3' || client === 'sqlite3') {
|
|
246
267
|
const knexFilter = includeKnexTables ? '' : "AND name NOT LIKE 'knex_%'";
|
|
247
|
-
const result = await knex.raw(`
|
|
248
|
-
SELECT name FROM sqlite_master
|
|
249
|
-
WHERE type='table'
|
|
250
|
-
AND name NOT LIKE 'sqlite_%'
|
|
251
|
-
${knexFilter}
|
|
252
|
-
ORDER BY name
|
|
268
|
+
const result = await knex.raw(`
|
|
269
|
+
SELECT name FROM sqlite_master
|
|
270
|
+
WHERE type='table'
|
|
271
|
+
AND name NOT LIKE 'sqlite_%'
|
|
272
|
+
${knexFilter}
|
|
273
|
+
ORDER BY name
|
|
253
274
|
`);
|
|
254
|
-
|
|
275
|
+
tables = result.map((row) => row.name);
|
|
255
276
|
}
|
|
256
277
|
else if (client === 'mysql' || client === 'mysql2') {
|
|
257
278
|
const result = await knex.raw('SHOW TABLES');
|
|
258
279
|
const tableKey = Object.keys(result[0][0])[0];
|
|
259
|
-
|
|
260
|
-
|
|
280
|
+
tables = result[0].map((row) => row[tableKey]);
|
|
281
|
+
if (!includeKnexTables) {
|
|
282
|
+
tables = tables.filter((t) => !t.startsWith('knex_'));
|
|
283
|
+
}
|
|
261
284
|
}
|
|
262
285
|
else if (client === 'pg') {
|
|
263
286
|
const knexFilter = includeKnexTables ? '' : "AND tablename NOT LIKE 'knex_%'";
|
|
264
|
-
const result = await knex.raw(`
|
|
265
|
-
SELECT tablename FROM pg_tables
|
|
266
|
-
WHERE schemaname = 'public'
|
|
267
|
-
${knexFilter}
|
|
268
|
-
ORDER BY tablename
|
|
287
|
+
const result = await knex.raw(`
|
|
288
|
+
SELECT tablename FROM pg_tables
|
|
289
|
+
WHERE schemaname = 'public'
|
|
290
|
+
${knexFilter}
|
|
291
|
+
ORDER BY tablename
|
|
269
292
|
`);
|
|
270
|
-
|
|
293
|
+
tables = result.rows.map((row) => row.tablename);
|
|
294
|
+
}
|
|
295
|
+
else {
|
|
296
|
+
throw new Error(`Unsupported database client: ${client}`);
|
|
297
|
+
}
|
|
298
|
+
// Filter by table prefix (default: v4_ for current schema)
|
|
299
|
+
if (tablePrefix) {
|
|
300
|
+
tables = tables.filter((t) => t.startsWith(tablePrefix));
|
|
271
301
|
}
|
|
272
|
-
|
|
302
|
+
return tables;
|
|
273
303
|
}
|
|
274
304
|
/**
|
|
275
305
|
* Get CREATE TABLE statement for a table using knex-schema-inspector
|
|
@@ -290,20 +320,20 @@ export async function getCreateTableStatement(knex, table, targetFormat) {
|
|
|
290
320
|
let compositePrimaryKey = null; // Track composite PRIMARY KEY
|
|
291
321
|
if (client === 'pg') {
|
|
292
322
|
// PostgreSQL: Query pg_constraint for composite PRIMARY KEY and UNIQUE constraints
|
|
293
|
-
const constraints = await knex.raw(`
|
|
294
|
-
SELECT
|
|
295
|
-
con.conname AS constraint_name,
|
|
296
|
-
con.contype AS constraint_type,
|
|
297
|
-
ARRAY_AGG(att.attname ORDER BY u.attposition) AS columns
|
|
298
|
-
FROM pg_constraint con
|
|
299
|
-
JOIN pg_class rel ON rel.oid = con.conrelid
|
|
300
|
-
JOIN pg_namespace nsp ON nsp.oid = rel.relnamespace
|
|
301
|
-
CROSS JOIN LATERAL UNNEST(con.conkey) WITH ORDINALITY AS u(attnum, attposition)
|
|
302
|
-
JOIN pg_attribute att ON att.attnum = u.attnum AND att.attrelid = con.conrelid
|
|
303
|
-
WHERE rel.relname = ?
|
|
304
|
-
AND nsp.nspname = 'public'
|
|
305
|
-
AND con.contype IN ('p', 'u')
|
|
306
|
-
GROUP BY con.conname, con.contype
|
|
323
|
+
const constraints = await knex.raw(`
|
|
324
|
+
SELECT
|
|
325
|
+
con.conname AS constraint_name,
|
|
326
|
+
con.contype AS constraint_type,
|
|
327
|
+
ARRAY_AGG(att.attname ORDER BY u.attposition) AS columns
|
|
328
|
+
FROM pg_constraint con
|
|
329
|
+
JOIN pg_class rel ON rel.oid = con.conrelid
|
|
330
|
+
JOIN pg_namespace nsp ON nsp.oid = rel.relnamespace
|
|
331
|
+
CROSS JOIN LATERAL UNNEST(con.conkey) WITH ORDINALITY AS u(attnum, attposition)
|
|
332
|
+
JOIN pg_attribute att ON att.attnum = u.attnum AND att.attrelid = con.conrelid
|
|
333
|
+
WHERE rel.relname = ?
|
|
334
|
+
AND nsp.nspname = 'public'
|
|
335
|
+
AND con.contype IN ('p', 'u')
|
|
336
|
+
GROUP BY con.conname, con.contype
|
|
307
337
|
`, [table]);
|
|
308
338
|
for (const constraint of constraints.rows) {
|
|
309
339
|
// PostgreSQL returns arrays as strings like "{col1,col2}" - parse them
|
|
@@ -419,25 +449,25 @@ export async function getCreateTableStatement(knex, table, targetFormat) {
|
|
|
419
449
|
let foreignKeys = await inspector.foreignKeys(table);
|
|
420
450
|
// PostgreSQL: Manually query composite foreign keys (knex-schema-inspector misses them)
|
|
421
451
|
if (client === 'pg') {
|
|
422
|
-
const compositeFks = await knex.raw(`
|
|
423
|
-
SELECT
|
|
424
|
-
con.conname AS constraint_name,
|
|
425
|
-
ARRAY_AGG(att.attname ORDER BY u.attposition) AS columns,
|
|
426
|
-
ref_class.relname AS foreign_table,
|
|
427
|
-
ARRAY_AGG(ref_att.attname ORDER BY u.attposition) AS foreign_columns,
|
|
428
|
-
con.confdeltype AS on_delete,
|
|
429
|
-
con.confupdtype AS on_update
|
|
430
|
-
FROM pg_constraint con
|
|
431
|
-
JOIN pg_class rel ON rel.oid = con.conrelid
|
|
432
|
-
JOIN pg_namespace nsp ON nsp.oid = rel.relnamespace
|
|
433
|
-
JOIN pg_class ref_class ON ref_class.oid = con.confrelid
|
|
434
|
-
CROSS JOIN LATERAL UNNEST(con.conkey) WITH ORDINALITY AS u(attnum, attposition)
|
|
435
|
-
JOIN pg_attribute att ON att.attnum = u.attnum AND att.attrelid = con.conrelid
|
|
436
|
-
JOIN pg_attribute ref_att ON ref_att.attnum = con.confkey[u.attposition] AND ref_att.attrelid = con.confrelid
|
|
437
|
-
WHERE rel.relname = ?
|
|
438
|
-
AND nsp.nspname = 'public'
|
|
439
|
-
AND con.contype = 'f'
|
|
440
|
-
GROUP BY con.conname, ref_class.relname, con.confdeltype, con.confupdtype
|
|
452
|
+
const compositeFks = await knex.raw(`
|
|
453
|
+
SELECT
|
|
454
|
+
con.conname AS constraint_name,
|
|
455
|
+
ARRAY_AGG(att.attname ORDER BY u.attposition) AS columns,
|
|
456
|
+
ref_class.relname AS foreign_table,
|
|
457
|
+
ARRAY_AGG(ref_att.attname ORDER BY u.attposition) AS foreign_columns,
|
|
458
|
+
con.confdeltype AS on_delete,
|
|
459
|
+
con.confupdtype AS on_update
|
|
460
|
+
FROM pg_constraint con
|
|
461
|
+
JOIN pg_class rel ON rel.oid = con.conrelid
|
|
462
|
+
JOIN pg_namespace nsp ON nsp.oid = rel.relnamespace
|
|
463
|
+
JOIN pg_class ref_class ON ref_class.oid = con.confrelid
|
|
464
|
+
CROSS JOIN LATERAL UNNEST(con.conkey) WITH ORDINALITY AS u(attnum, attposition)
|
|
465
|
+
JOIN pg_attribute att ON att.attnum = u.attnum AND att.attrelid = con.conrelid
|
|
466
|
+
JOIN pg_attribute ref_att ON ref_att.attnum = con.confkey[u.attposition] AND ref_att.attrelid = con.confrelid
|
|
467
|
+
WHERE rel.relname = ?
|
|
468
|
+
AND nsp.nspname = 'public'
|
|
469
|
+
AND con.contype = 'f'
|
|
470
|
+
GROUP BY con.conname, ref_class.relname, con.confdeltype, con.confupdtype
|
|
441
471
|
`, [table]);
|
|
442
472
|
for (const fk of compositeFks.rows) {
|
|
443
473
|
// Parse PostgreSQL arrays
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tables.js","sourceRoot":"","sources":["../../../../src/utils/sql-dump/schema/tables.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tables.js","sourceRoot":"","sources":["../../../../src/utils/sql-dump/schema/tables.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,99 +1,101 @@
|
|
|
1
1
|
# Database Migration Guide
|
|
2
2
|
|
|
3
|
-
This guide explains how to generate complete SQL dumps from your mcp-sqlew database for
|
|
4
|
-
or PostgreSQL.
|
|
3
|
+
This guide explains how to generate complete SQL dumps from your mcp-sqlew database for backup and restore operations.
|
|
5
4
|
|
|
6
|
-
##
|
|
7
|
-
|
|
8
|
-
The `db:dump` CLI tool generates complete SQL dumps (CREATE TABLE + INSERT statements) compatible with SQLite,
|
|
9
|
-
MySQL/MariaDB, and PostgreSQL formats. The generated SQL can be imported directly into an empty database without
|
|
10
|
-
additional setup.
|
|
5
|
+
## ⚠️ BREAKING CHANGE (v4.0.2)
|
|
11
6
|
|
|
12
|
-
|
|
7
|
+
**SQL dump no longer supports cross-database format conversion.**
|
|
13
8
|
|
|
14
|
-
|
|
9
|
+
Starting from v4.0.2, `db:dump` generates SQL for the **same database type only**:
|
|
10
|
+
- SQLite → SQLite ✅
|
|
11
|
+
- MySQL → MySQL ✅
|
|
12
|
+
- PostgreSQL → PostgreSQL ✅
|
|
13
|
+
- SQLite → MySQL ❌ (use JSON instead)
|
|
14
|
+
- SQLite → PostgreSQL ❌ (use JSON instead)
|
|
15
15
|
|
|
16
|
+
**For cross-database migrations**, use JSON export/import:
|
|
16
17
|
```bash
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
npx sqlew db:export backup.json # Export to JSON
|
|
19
|
+
npx sqlew db:import backup.json # Import to target database
|
|
19
20
|
```
|
|
20
21
|
|
|
21
|
-
|
|
22
|
+
See [DATA_EXPORT_IMPORT.md](DATA_EXPORT_IMPORT.md) for complete cross-database migration guide.
|
|
22
23
|
|
|
23
|
-
|
|
24
|
-
{
|
|
25
|
-
"scripts": {
|
|
26
|
-
"sqlew": "node node_modules/sqlew/dist/cli.js"
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
```
|
|
24
|
+
---
|
|
30
25
|
|
|
31
|
-
|
|
26
|
+
## Overview
|
|
27
|
+
|
|
28
|
+
The `db:dump` CLI tool generates complete SQL dumps (CREATE TABLE + INSERT statements) for **same-database-type backup and restore operations**. The generated SQL can be imported directly into an empty database of the same type.
|
|
32
29
|
|
|
33
30
|
## Usage
|
|
34
31
|
|
|
35
|
-
|
|
32
|
+
**No installation required!** Use directly via npx:
|
|
36
33
|
|
|
37
34
|
```bash
|
|
38
|
-
|
|
35
|
+
npx sqlew db:dump <format> [output-file] [key=value ...]
|
|
39
36
|
```
|
|
40
37
|
|
|
41
38
|
**Parameters:**
|
|
42
39
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
40
|
+
| Parameter | Description | Default |
|
|
41
|
+
|-----------|-------------|---------|
|
|
42
|
+
| `<format>` | Target SQL format: sqlite, mysql, postgresql | **Required** |
|
|
43
|
+
| `[output-file]` | Output file path | stdout |
|
|
44
|
+
| `from=<source>` | Source database type | sqlite |
|
|
45
|
+
| `tables=<list>` | Comma-separated table names | all tables |
|
|
46
|
+
| `chunk-size=<n>` | Rows per INSERT statement | 100 |
|
|
47
|
+
| `on-conflict=<mode>` | error, ignore, replace | error |
|
|
48
|
+
| `exclude-schema=true` | Data-only dump (no CREATE TABLE) | false |
|
|
49
|
+
| `db-path=<path>` | SQLite database path | .sqlew/sqlew.db |
|
|
51
50
|
|
|
52
51
|
**Note:** By default, the dump includes both schema (CREATE TABLE) and data (INSERT) for complete migration.
|
|
53
52
|
|
|
54
|
-
### Generate SQL Dumps
|
|
53
|
+
### Generate SQL Dumps (Same-Database Backup)
|
|
55
54
|
|
|
56
|
-
**
|
|
55
|
+
**SQLite Backup:**
|
|
57
56
|
|
|
58
57
|
```bash
|
|
59
|
-
|
|
60
|
-
|
|
58
|
+
# Backup SQLite database (default)
|
|
59
|
+
npx sqlew db:dump sqlite backup-sqlite.sql
|
|
61
60
|
```
|
|
62
61
|
|
|
63
|
-
**
|
|
62
|
+
**MySQL Backup:**
|
|
64
63
|
|
|
65
64
|
```bash
|
|
66
|
-
# Configure connection via environment variables
|
|
65
|
+
# Configure connection via .sqlew/config.toml or environment variables
|
|
67
66
|
export MYSQL_HOST=127.0.0.1
|
|
68
67
|
export MYSQL_PORT=3306
|
|
69
68
|
export MYSQL_USER=youruser
|
|
70
69
|
export MYSQL_PASSWORD=yourpass
|
|
71
70
|
export MYSQL_DATABASE=mcp_context
|
|
72
71
|
|
|
73
|
-
|
|
74
|
-
|
|
72
|
+
# Backup MySQL database
|
|
73
|
+
npx sqlew db:dump mysql backup-mysql.sql from=mysql
|
|
75
74
|
```
|
|
76
75
|
|
|
77
|
-
**
|
|
76
|
+
**PostgreSQL Backup:**
|
|
78
77
|
|
|
79
78
|
```bash
|
|
80
|
-
# Configure connection via environment variables
|
|
79
|
+
# Configure connection via .sqlew/config.toml or environment variables
|
|
81
80
|
export PG_HOST=localhost
|
|
82
81
|
export PG_PORT=5432
|
|
83
82
|
export PG_USER=postgres
|
|
84
83
|
export PG_PASSWORD=yourpass
|
|
85
84
|
export PG_DATABASE=mcp_context
|
|
86
85
|
|
|
87
|
-
|
|
88
|
-
|
|
86
|
+
# Backup PostgreSQL database
|
|
87
|
+
npx sqlew db:dump postgresql backup-pg.sql from=postgresql
|
|
89
88
|
```
|
|
90
89
|
|
|
90
|
+
> **Note**: For cross-database migrations (e.g., SQLite → MySQL), use JSON export/import instead.
|
|
91
|
+
> See [DATA_EXPORT_IMPORT.md](DATA_EXPORT_IMPORT.md) for the complete guide.
|
|
92
|
+
|
|
91
93
|
### Selective Table Export
|
|
92
94
|
|
|
93
95
|
Export only specific tables:
|
|
94
96
|
|
|
95
97
|
```bash
|
|
96
|
-
|
|
98
|
+
npx sqlew db:dump mysql partial.sql tables=v4_decisions,v4_tasks,v4_files
|
|
97
99
|
```
|
|
98
100
|
|
|
99
101
|
### Custom Chunk Size
|
|
@@ -101,7 +103,7 @@ node node_modules/sqlew/dist/cli.js db:dump --format mysql --tables t_decisions,
|
|
|
101
103
|
For large tables, adjust INSERT batch size:
|
|
102
104
|
|
|
103
105
|
```bash
|
|
104
|
-
|
|
106
|
+
npx sqlew db:dump mysql dump.sql chunk-size=500
|
|
105
107
|
```
|
|
106
108
|
|
|
107
109
|
### Data-Only Dumps
|
|
@@ -109,7 +111,7 @@ node node_modules/sqlew/dist/cli.js db:dump --format mysql --chunk-size 500 --ou
|
|
|
109
111
|
For advanced use cases where you manage schema separately:
|
|
110
112
|
|
|
111
113
|
```bash
|
|
112
|
-
|
|
114
|
+
npx sqlew db:dump mysql data-only.sql exclude-schema=true
|
|
113
115
|
```
|
|
114
116
|
|
|
115
117
|
This generates INSERT statements without CREATE TABLE, useful for:
|
|
@@ -124,13 +126,13 @@ Handle duplicate keys when importing into existing databases:
|
|
|
124
126
|
|
|
125
127
|
```bash
|
|
126
128
|
# Ignore duplicates (safe for adding new data)
|
|
127
|
-
|
|
129
|
+
npx sqlew db:dump mysql dump.sql on-conflict=ignore
|
|
128
130
|
|
|
129
131
|
# Update existing rows (sync/overwrite mode)
|
|
130
|
-
|
|
132
|
+
npx sqlew db:dump mysql dump.sql on-conflict=replace
|
|
131
133
|
|
|
132
134
|
# Fail on duplicates (default, strict mode)
|
|
133
|
-
|
|
135
|
+
npx sqlew db:dump mysql dump.sql on-conflict=error
|
|
134
136
|
```
|
|
135
137
|
|
|
136
138
|
**Modes:**
|
|
@@ -147,18 +149,20 @@ node node_modules/sqlew/dist/cli.js db:dump --format mysql --on-conflict error -
|
|
|
147
149
|
|
|
148
150
|
---
|
|
149
151
|
|
|
150
|
-
## Supported
|
|
152
|
+
## Supported Operations (v4.0.2+)
|
|
153
|
+
|
|
154
|
+
The `db:dump` tool supports **same-database-type backup and restore** only:
|
|
151
155
|
|
|
152
|
-
|
|
156
|
+
| Source | Target | Command | Supported |
|
|
157
|
+
|------------|------------|----------------------------------------------|-----------|
|
|
158
|
+
| SQLite | SQLite | `--format sqlite` | ✅ |
|
|
159
|
+
| MySQL | MySQL | `--from mysql --format mysql` | ✅ |
|
|
160
|
+
| PostgreSQL | PostgreSQL | `--from postgresql --format postgresql` | ✅ |
|
|
161
|
+
| SQLite | MySQL | N/A - Use JSON export/import | ❌ |
|
|
162
|
+
| SQLite | PostgreSQL | N/A - Use JSON export/import | ❌ |
|
|
163
|
+
| MySQL | PostgreSQL | N/A - Use JSON export/import | ❌ |
|
|
153
164
|
|
|
154
|
-
|
|
155
|
-
|------------|------------|-------------------------------------|
|
|
156
|
-
| SQLite | MySQL | `--format mysql` |
|
|
157
|
-
| SQLite | PostgreSQL | `--format postgresql` |
|
|
158
|
-
| MySQL | SQLite | `--from mysql --format sqlite` |
|
|
159
|
-
| PostgreSQL | SQLite | `--from postgresql --format sqlite` |
|
|
160
|
-
| MySQL | PostgreSQL | `--from mysql --format postgresql` |
|
|
161
|
-
| PostgreSQL | MySQL | `--from postgresql --format mysql` |
|
|
165
|
+
**For cross-database migrations**, see [DATA_EXPORT_IMPORT.md](DATA_EXPORT_IMPORT.md).
|
|
162
166
|
|
|
163
167
|
---
|
|
164
168
|
|