@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.
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@zintrust/d1-migrator",
3
- "version": "0.4.64",
4
- "buildDate": "2026-04-05T16:22:42.299Z",
3
+ "version": "0.4.67",
4
+ "buildDate": "2026-04-06T10:06:59.075Z",
5
5
  "buildEnvironment": {
6
- "node": "v20.20.2",
7
- "platform": "linux",
8
- "arch": "x64"
6
+ "node": "v22.22.1",
7
+ "platform": "darwin",
8
+ "arch": "arm64"
9
9
  },
10
10
  "git": {
11
- "commit": "018dcfe5",
12
- "branch": "master"
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": "6fb9eade2112a8985f9a86ecf5bd3c4a5cc9504fabb55b75ee43ad000e27226d"
40
+ "sha256": "be301eb96726a2611e9f739c5f57b536b24243413ad100effc7afce905d83e81"
37
41
  },
38
42
  "cli/DataMigrator.js": {
39
- "size": 18347,
40
- "sha256": "7325cdb942ee70b1cdfa584f386c9b1081178ef07ad937779dfae87979b627f8"
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": "cd90a3de4d917f71f87d14aecbffabb5659eb5f11c5ff19bf7fdafec45b4c9ee"
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": "e183f412ae963da070abad7a6ecdc042f9d474ffe685139ba7cb438065afd2ec"
112
+ "sha256": "6ee501ff68e7d23fbb14f3f24167606346826392c8782153920b5d27cbb3348f"
109
113
  },
110
114
  "schema/SchemaBuilder.js": {
111
- "size": 5781,
112
- "sha256": "1d68db37d8831881374cdb46b3ed78672cae90ab3ff2e1045e4ab32aa9bebc77"
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;AAiEF;;;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"}
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"}
@@ -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;AAI1D;;;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;IAgB1C;;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"}
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
- if (value === null) {
90
+ const normalizedValue = normalizeNullLikeDefaultValue(value);
91
+ if (normalizedValue === null) {
86
92
  return 'NULL';
87
93
  }
88
- if (typeof value === 'string') {
89
- return `'${value.replaceAll("'", "''")}'`;
94
+ if (typeof normalizedValue === 'string') {
95
+ return `'${normalizedValue.replaceAll("'", "''")}'`;
90
96
  }
91
- if (typeof value === 'boolean') {
92
- return value ? '1' : '0';
97
+ if (typeof normalizedValue === 'boolean') {
98
+ return normalizedValue ? '1' : '0';
93
99
  }
94
- return String(value);
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.64",
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.64"
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.54",
44
- "@zintrust/db-postgres": "0.4.54",
45
- "@zintrust/db-sqlite": "0.4.54",
46
- "@zintrust/db-sqlserver": "0.4.54",
47
- "@zintrust/db-d1": "0.4.54"
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
  }