@zintrust/d1-migrator 0.4.64 → 0.4.67
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/dist/build-manifest.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zintrust/d1-migrator",
|
|
3
|
-
"version": "0.4.
|
|
4
|
-
"buildDate": "2026-04-
|
|
3
|
+
"version": "0.4.67",
|
|
4
|
+
"buildDate": "2026-04-06T10:06:59.075Z",
|
|
5
5
|
"buildEnvironment": {
|
|
6
|
-
"node": "
|
|
7
|
-
"platform": "
|
|
8
|
-
"arch": "
|
|
6
|
+
"node": "v22.22.1",
|
|
7
|
+
"platform": "darwin",
|
|
8
|
+
"arch": "arm64"
|
|
9
9
|
},
|
|
10
10
|
"git": {
|
|
11
|
-
"commit": "
|
|
12
|
-
"branch": "
|
|
11
|
+
"commit": "f5a9d786",
|
|
12
|
+
"branch": "release"
|
|
13
13
|
},
|
|
14
14
|
"package": {
|
|
15
15
|
"engines": {
|
|
@@ -27,17 +27,21 @@
|
|
|
27
27
|
]
|
|
28
28
|
},
|
|
29
29
|
"files": {
|
|
30
|
+
"build-manifest.json": {
|
|
31
|
+
"size": 5808,
|
|
32
|
+
"sha256": "cb7c9f045420b2a0f8b9965a6483a08d0fabc4e6a1a2bf47b13a5ef6ad195488"
|
|
33
|
+
},
|
|
30
34
|
"cli/DataMigrator.d.ts": {
|
|
31
35
|
"size": 3355,
|
|
32
36
|
"sha256": "f7ce0a06282ab0d08a90cca9b0d2cc4ec5a8df91c9e65425aaf342ef005b5af6"
|
|
33
37
|
},
|
|
34
38
|
"cli/DataMigrator.d.ts.map": {
|
|
35
39
|
"size": 2120,
|
|
36
|
-
"sha256": "
|
|
40
|
+
"sha256": "be301eb96726a2611e9f739c5f57b536b24243413ad100effc7afce905d83e81"
|
|
37
41
|
},
|
|
38
42
|
"cli/DataMigrator.js": {
|
|
39
|
-
"size":
|
|
40
|
-
"sha256": "
|
|
43
|
+
"size": 18540,
|
|
44
|
+
"sha256": "8b0d02707f5d14a458b9a666ef8a27051e32396d61067896dcd486cc680506d2"
|
|
41
45
|
},
|
|
42
46
|
"cli/MigrateToD1Command.d.ts": {
|
|
43
47
|
"size": 1589,
|
|
@@ -85,7 +89,7 @@
|
|
|
85
89
|
},
|
|
86
90
|
"index.js": {
|
|
87
91
|
"size": 1263,
|
|
88
|
-
"sha256": "
|
|
92
|
+
"sha256": "e72af6c6b9fbcec4b23c14d74da9d084026a4b9f27cf1cd1ceaa38849e798045"
|
|
89
93
|
},
|
|
90
94
|
"register.d.ts": {
|
|
91
95
|
"size": 159,
|
|
@@ -105,11 +109,11 @@
|
|
|
105
109
|
},
|
|
106
110
|
"schema/SchemaBuilder.d.ts.map": {
|
|
107
111
|
"size": 670,
|
|
108
|
-
"sha256": "
|
|
112
|
+
"sha256": "6ee501ff68e7d23fbb14f3f24167606346826392c8782153920b5d27cbb3348f"
|
|
109
113
|
},
|
|
110
114
|
"schema/SchemaBuilder.js": {
|
|
111
|
-
"size":
|
|
112
|
-
"sha256": "
|
|
115
|
+
"size": 6087,
|
|
116
|
+
"sha256": "fc6ac1668fde7bf5f4d54492d41e7004ccde0a60cc93197ad228d5675248dd01"
|
|
113
117
|
},
|
|
114
118
|
"schema/TypeConverter.d.ts": {
|
|
115
119
|
"size": 989,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataMigrator.d.ts","sourceRoot":"","sources":["../../src/cli/DataMigrator.ts"],"names":[],"mappings":"AACA;;;GAGG;AAWH,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;IACxC,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,IAAI,GAAG,WAAW,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,KAAK,kBAAkB,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,UAAU,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACxE,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;
|
|
1
|
+
{"version":3,"file":"DataMigrator.d.ts","sourceRoot":"","sources":["../../src/cli/DataMigrator.ts"],"names":[],"mappings":"AACA;;;GAGG;AAWH,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;IACxC,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,IAAI,GAAG,WAAW,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,KAAK,kBAAkB,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,UAAU,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACxE,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAsEF;;;GAGG;AACH,eAAO,MAAM,YAAY;IACvB;;OAEG;wBACuB,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAmFtE;;OAEG;4BAC2B,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAoEzE;;OAEG;4BAC2B,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAyCzE;;OAEG;0CAEiB,gBAAgB,oBAChB,gBAAgB,UAC1B,eAAe,GACtB,OAAO,CAAC,IAAI,CAAC;IAoChB;;OAEG;+BAC8B,gBAAgB,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,SAAS,EAAE,CAAA;KAAE,CAAC;IAiBpF;;OAEG;wBAEM,SAAS,oBACE,gBAAgB,oBAChB,gBAAgB,UAC1B,eAAe,GACtB,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IA4EtD;;OAEG;oCAEiB,gBAAgB,aACvB,MAAM,UACT,MAAM,aACH,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAkBrC;;OAEG;yBAEM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,aACrB,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IA4CrC;;OAEG;iCAEiB,gBAAgB,aACvB,MAAM,QACX,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAC9B,OAAO,CAAC,MAAM,CAAC;IAkClB;;OAEG;gCACyB,eAAe,CAAC,cAAc,CAAC,aAAa,MAAM,GAAG,MAAM;IAavF;;OAEG;wCAEM,MAAM,UACL,MAAM,gBACA,MAAM,gBACN,MAAM,GACnB,0BAA0B;IAS7B;;OAEG;gCACyB,MAAM,GAAG,iBAAiB;IAetD;;OAEG;6BAES,iBAAiB,WAClB,OAAO,CAAC,iBAAiB,CAAC,GAClC,iBAAiB;EAGpB,CAAC"}
|
package/dist/cli/DataMigrator.js
CHANGED
|
@@ -10,6 +10,11 @@ import { SQLiteAdapter } from '@zintrust/db-sqlite';
|
|
|
10
10
|
import { SQLServerAdapter } from '@zintrust/db-sqlserver';
|
|
11
11
|
import { SchemaBuilder } from '../schema/SchemaBuilder.js';
|
|
12
12
|
import { SchemaAnalyzer } from './SchemaAnalyzer.js';
|
|
13
|
+
const normalizeNullLikeValue = (value) => {
|
|
14
|
+
if (typeof value !== 'string')
|
|
15
|
+
return value;
|
|
16
|
+
return value.trim().toLowerCase() === 'null' ? null : value;
|
|
17
|
+
};
|
|
13
18
|
const parseConnectionDetails = (connectionString, defaultPort, defaultDatabase, defaultUsername) => {
|
|
14
19
|
try {
|
|
15
20
|
const parsed = new URL(connectionString);
|
|
@@ -327,7 +332,7 @@ export const DataMigrator = Object.freeze({
|
|
|
327
332
|
return chunk.map((row) => {
|
|
328
333
|
const transformed = {};
|
|
329
334
|
for (const [key, rawValue] of Object.entries(row)) {
|
|
330
|
-
const value = rawValue;
|
|
335
|
+
const value = normalizeNullLikeValue(rawValue);
|
|
331
336
|
if (value === undefined) {
|
|
332
337
|
transformed[key] = null;
|
|
333
338
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaBuilder.d.ts","sourceRoot":"","sources":["../../src/schema/SchemaBuilder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"SchemaBuilder.d.ts","sourceRoot":"","sources":["../../src/schema/SchemaBuilder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAS1D;;;GAGG;AACH,eAAO,MAAM,aAAa;IACxB;;OAEG;gCACyB,WAAW,EAAE,gBAAgB,MAAM,GAAG,WAAW,EAAE;IAM/E;;OAEG;8BACuB,WAAW,gBAAgB,MAAM,GAAG,WAAW;IAkBzE;;OAEG;gCACyB,YAAY,gBAAgB,MAAM,GAAG,YAAY;IAmB7E;;OAEG;kCAC2B,WAAW,GAAG,MAAM;IAmBlD;;OAEG;qCAC8B,YAAY,GAAG,MAAM;IActD;;OAEG;8BACuB,OAAO,GAAG,MAAM;IAkB1C;;OAEG;4BACqB,WAAW,GAAG,MAAM,EAAE;IAqB9C;;OAEG;8BACuB,WAAW,EAAE,GAAG,MAAM;IAqBhD;;OAEG;2BACoB,WAAW,EAAE,GAAG;QACrC,KAAK,EAAE,OAAO,CAAC;QACf,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB;EAmCD,CAAC"}
|
|
@@ -5,6 +5,11 @@
|
|
|
5
5
|
import { Logger } from '@zintrust/core';
|
|
6
6
|
import { DataValidator } from '../utils/DataValidator.js';
|
|
7
7
|
import { TypeConverter } from './TypeConverter.js';
|
|
8
|
+
const normalizeNullLikeDefaultValue = (value) => {
|
|
9
|
+
if (typeof value !== 'string')
|
|
10
|
+
return value;
|
|
11
|
+
return value.trim().toLowerCase() === 'null' ? null : value;
|
|
12
|
+
};
|
|
8
13
|
/**
|
|
9
14
|
* SchemaBuilder - Sealed namespace for schema building
|
|
10
15
|
* Provides D1 schema generation from source schemas
|
|
@@ -82,16 +87,17 @@ export const SchemaBuilder = Object.freeze({
|
|
|
82
87
|
* Format default value for SQL
|
|
83
88
|
*/
|
|
84
89
|
formatDefaultValue(value) {
|
|
85
|
-
|
|
90
|
+
const normalizedValue = normalizeNullLikeDefaultValue(value);
|
|
91
|
+
if (normalizedValue === null) {
|
|
86
92
|
return 'NULL';
|
|
87
93
|
}
|
|
88
|
-
if (typeof
|
|
89
|
-
return `'${
|
|
94
|
+
if (typeof normalizedValue === 'string') {
|
|
95
|
+
return `'${normalizedValue.replaceAll("'", "''")}'`;
|
|
90
96
|
}
|
|
91
|
-
if (typeof
|
|
92
|
-
return
|
|
97
|
+
if (typeof normalizedValue === 'boolean') {
|
|
98
|
+
return normalizedValue ? '1' : '0';
|
|
93
99
|
}
|
|
94
|
-
return String(
|
|
100
|
+
return String(normalizedValue);
|
|
95
101
|
},
|
|
96
102
|
/**
|
|
97
103
|
* Generate index statements
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zintrust/d1-migrator",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.67",
|
|
4
4
|
"description": "Resumable database migration toolkit for moving data to Cloudflare D1 with ZinTrust.",
|
|
5
5
|
"private": false,
|
|
6
6
|
"type": "module",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"node": ">=20.0.0"
|
|
24
24
|
},
|
|
25
25
|
"peerDependencies": {
|
|
26
|
-
"@zintrust/core": "^0.4.
|
|
26
|
+
"@zintrust/core": "^0.4.67"
|
|
27
27
|
},
|
|
28
28
|
"publishConfig": {
|
|
29
29
|
"access": "public"
|
|
@@ -40,10 +40,10 @@
|
|
|
40
40
|
"prepublishOnly": "npm run build"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@zintrust/db-mysql": "0.4.
|
|
44
|
-
"@zintrust/db-postgres": "0.4.
|
|
45
|
-
"@zintrust/db-sqlite": "0.4.
|
|
46
|
-
"@zintrust/db-sqlserver": "0.4.
|
|
47
|
-
"@zintrust/db-d1": "0.4.
|
|
43
|
+
"@zintrust/db-mysql": "0.4.64",
|
|
44
|
+
"@zintrust/db-postgres": "0.4.64",
|
|
45
|
+
"@zintrust/db-sqlite": "0.4.64",
|
|
46
|
+
"@zintrust/db-sqlserver": "0.4.64",
|
|
47
|
+
"@zintrust/db-d1": "0.4.64"
|
|
48
48
|
}
|
|
49
49
|
}
|