fdb2 1.0.38 → 1.0.40
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 +8 -1
- package/bin/fdb2.js +78 -3
- package/dist/public/explorer.css +403 -380
- package/dist/public/explorer.js +1294 -737
- package/dist/public/index.js +242 -16
- package/dist/public/layout.js +1 -1
- package/dist/scripts/verify-db-support.cjs +239 -0
- package/dist/server/core/dialect.d.ts +9 -0
- package/dist/server/core/dialect.d.ts.map +1 -1
- package/dist/server/core/dialect.js +24 -9
- package/dist/server/core/dialect.js.map +1 -1
- package/dist/server/core/dialect.ts +29 -9
- package/dist/server/core/schema/__tests__/ddl-emitter.test.ts +7 -3
- package/dist/server/core/schema/ddl-emitter.d.ts.map +1 -1
- package/dist/server/core/schema/ddl-emitter.js +32 -12
- package/dist/server/core/schema/ddl-emitter.js.map +1 -1
- package/dist/server/core/schema/ddl-emitter.ts +34 -11
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +83 -6
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.ts +87 -6
- package/dist/server/model/ddl-spec.d.ts +9 -0
- package/dist/server/model/ddl-spec.d.ts.map +1 -1
- package/dist/server/model/ddl-spec.ts +9 -0
- package/dist/server/service/connection.service.d.ts +8 -0
- package/dist/server/service/connection.service.d.ts.map +1 -1
- package/dist/server/service/connection.service.js +75 -17
- package/dist/server/service/connection.service.js.map +1 -1
- package/dist/server/service/connection.service.ts +74 -17
- package/dist/server/service/database/base.service.d.ts +45 -0
- package/dist/server/service/database/base.service.d.ts.map +1 -1
- package/dist/server/service/database/base.service.js +120 -7
- package/dist/server/service/database/base.service.js.map +1 -1
- package/dist/server/service/database/base.service.ts +143 -8
- package/dist/server/service/database/cockroachdb.service.d.ts +9 -0
- package/dist/server/service/database/cockroachdb.service.d.ts.map +1 -1
- package/dist/server/service/database/cockroachdb.service.js +67 -56
- package/dist/server/service/database/cockroachdb.service.js.map +1 -1
- package/dist/server/service/database/cockroachdb.service.ts +66 -57
- package/dist/server/service/database/database.service.d.ts +3 -221
- package/dist/server/service/database/database.service.d.ts.map +1 -1
- package/dist/server/service/database/database.service.js +66 -24
- package/dist/server/service/database/database.service.js.map +1 -1
- package/dist/server/service/database/database.service.ts +69 -23
- package/dist/server/service/database/mongodb.service.d.ts +58 -3
- package/dist/server/service/database/mongodb.service.d.ts.map +1 -1
- package/dist/server/service/database/mongodb.service.js +251 -54
- package/dist/server/service/database/mongodb.service.js.map +1 -1
- package/dist/server/service/database/mongodb.service.ts +275 -60
- package/dist/server/service/database/mssql.service.d.ts +8 -0
- package/dist/server/service/database/mssql.service.d.ts.map +1 -1
- package/dist/server/service/database/mssql.service.js +41 -36
- package/dist/server/service/database/mssql.service.js.map +1 -1
- package/dist/server/service/database/mssql.service.ts +45 -40
- package/dist/server/service/database/oracle.service.d.ts +24 -0
- package/dist/server/service/database/oracle.service.d.ts.map +1 -1
- package/dist/server/service/database/oracle.service.js +146 -106
- package/dist/server/service/database/oracle.service.js.map +1 -1
- package/dist/server/service/database/oracle.service.ts +145 -105
- package/dist/server/service/database/sqlite.service.js +1 -1
- package/dist/server/service/database/sqlite.service.js.map +1 -1
- package/dist/server/service/database/sqlite.service.ts +1 -1
- package/package.json +8 -8
- package/scripts/verify-db-support.cjs +239 -0
package/dist/server/index.js
CHANGED
|
@@ -38,6 +38,7 @@ const http = __importStar(require("node:http"));
|
|
|
38
38
|
const https = __importStar(require("node:https"));
|
|
39
39
|
const connection_service_1 = require("./service/connection.service");
|
|
40
40
|
const database_service_1 = require("./service/database/database.service");
|
|
41
|
+
const dialect_1 = require("./core/dialect");
|
|
41
42
|
// 远程代理相关常量
|
|
42
43
|
const REMOTE_ID_SEP = '::';
|
|
43
44
|
const REMOTE_TOKEN_HEADER = 'x-db-tool-token';
|
|
@@ -381,6 +382,45 @@ async function handleDatabaseRoutes(pathname, body, headers) {
|
|
|
381
382
|
const result = await databaseService.getTableInfo(id, database, table);
|
|
382
383
|
return result;
|
|
383
384
|
}
|
|
385
|
+
// ---- 文档型(MongoDB)索引与聚合:统一走方言 service,未实现的方言会明确报错 ----
|
|
386
|
+
// /api/database/getIndexes
|
|
387
|
+
if (pathname === '/api/database/getIndexes') {
|
|
388
|
+
const { id, database, table } = body;
|
|
389
|
+
if (!id || !database || !table)
|
|
390
|
+
throw Error('Missing parameters: id, database, table');
|
|
391
|
+
const dataSource = await databaseService['connectionService'].getActiveConnection(id, database);
|
|
392
|
+
const dbService = databaseService['getDatabaseService'](dataSource.options.type);
|
|
393
|
+
return await dbService.getIndexes(dataSource, database, table);
|
|
394
|
+
}
|
|
395
|
+
// /api/database/createIndex
|
|
396
|
+
if (pathname === '/api/database/createIndex') {
|
|
397
|
+
const { id, database, table, keys, options } = body;
|
|
398
|
+
if (!id || !database || !table || !keys)
|
|
399
|
+
throw Error('Missing parameters: id, database, table, keys');
|
|
400
|
+
const dataSource = await databaseService['connectionService'].getActiveConnection(id, database);
|
|
401
|
+
const dbService = databaseService['getDatabaseService'](dataSource.options.type);
|
|
402
|
+
const name = await dbService.createIndex(dataSource, database, table, keys, options);
|
|
403
|
+
return { success: true, name };
|
|
404
|
+
}
|
|
405
|
+
// /api/database/dropIndex
|
|
406
|
+
if (pathname === '/api/database/dropIndex') {
|
|
407
|
+
const { id, database, table, indexName } = body;
|
|
408
|
+
if (!id || !database || !table || !indexName)
|
|
409
|
+
throw Error('Missing parameters: id, database, table, indexName');
|
|
410
|
+
const dataSource = await databaseService['connectionService'].getActiveConnection(id, database);
|
|
411
|
+
const dbService = databaseService['getDatabaseService'](dataSource.options.type);
|
|
412
|
+
await dbService.dropIndex(dataSource, database, table, indexName);
|
|
413
|
+
return { success: true };
|
|
414
|
+
}
|
|
415
|
+
// /api/database/aggregate
|
|
416
|
+
if (pathname === '/api/database/aggregate') {
|
|
417
|
+
const { id, database, table, pipeline } = body;
|
|
418
|
+
if (!id || !database || !table || !pipeline)
|
|
419
|
+
throw Error('Missing parameters: id, database, table, pipeline');
|
|
420
|
+
const dataSource = await databaseService['connectionService'].getActiveConnection(id, database);
|
|
421
|
+
const dbService = databaseService['getDatabaseService'](dataSource.options.type);
|
|
422
|
+
return await dbService.aggregate(dataSource, database, table, pipeline);
|
|
423
|
+
}
|
|
384
424
|
// /api/database/getTableData
|
|
385
425
|
if (pathname === '/api/database/getTableData') {
|
|
386
426
|
const { id, database, table, page = 1, pageSize = 100, where, orderBy } = body;
|
|
@@ -594,6 +634,13 @@ async function handleDatabaseRoutes(pathname, body, headers) {
|
|
|
594
634
|
// 获取数据库服务实例以使用正确的语法
|
|
595
635
|
const dataSource = await databaseService['connectionService'].getActiveConnection(id, database);
|
|
596
636
|
const dbService = databaseService['getDatabaseService'](dataSource.options.type);
|
|
637
|
+
// 文档型(MongoDB):直接插入文档,不拼 INSERT SQL
|
|
638
|
+
if ((0, dialect_1.dataModelOf)(dataSource.options.type) === 'document') {
|
|
639
|
+
const result = Array.isArray(data)
|
|
640
|
+
? await dbService.bulkInsert(dataSource, database, table, data)
|
|
641
|
+
: await dbService.insertDocument(dataSource, database, table, data);
|
|
642
|
+
return { success: true, result };
|
|
643
|
+
}
|
|
597
644
|
// 获取表的列信息,用于过滤自增字段
|
|
598
645
|
const columns = await dbService.getColumns(dataSource, database, table);
|
|
599
646
|
const sql = generateInsertSQL(dataSource.options.type, table, data, dbService, columns);
|
|
@@ -602,24 +649,42 @@ async function handleDatabaseRoutes(pathname, body, headers) {
|
|
|
602
649
|
}
|
|
603
650
|
// /api/database/updateData
|
|
604
651
|
if (pathname === '/api/database/updateData') {
|
|
605
|
-
const { id, database, table, data, where } = body;
|
|
606
|
-
if (!id || !database || !table || !data
|
|
652
|
+
const { id, database, table, data, where, docId } = body;
|
|
653
|
+
if (!id || !database || !table || !data)
|
|
607
654
|
throw Error('Missing parameters');
|
|
608
655
|
// 获取数据库服务实例以使用正确的语法
|
|
609
656
|
const dataSource = await databaseService['connectionService'].getActiveConnection(id, database);
|
|
610
657
|
const dbService = databaseService['getDatabaseService'](dataSource.options.type);
|
|
658
|
+
// 文档型(MongoDB):按 _id 更新,不拼 UPDATE SQL
|
|
659
|
+
if ((0, dialect_1.dataModelOf)(dataSource.options.type) === 'document') {
|
|
660
|
+
if (!docId)
|
|
661
|
+
throw Error('Missing parameters: docId');
|
|
662
|
+
await dbService.updateDocument(dataSource, database, table, docId, data);
|
|
663
|
+
return { success: true };
|
|
664
|
+
}
|
|
665
|
+
if (!where)
|
|
666
|
+
throw Error('Missing parameters');
|
|
611
667
|
const sql = generateUpdateSQL(dataSource.options.type, table, data, where, dbService);
|
|
612
668
|
const result = await databaseService.executeQuery(id, sql, database);
|
|
613
669
|
return { sql, result };
|
|
614
670
|
}
|
|
615
671
|
// /api/database/deleteData
|
|
616
672
|
if (pathname === '/api/database/deleteData') {
|
|
617
|
-
const { id, database, table, where } = body;
|
|
618
|
-
if (!id || !database || !table
|
|
673
|
+
const { id, database, table, where, docId } = body;
|
|
674
|
+
if (!id || !database || !table)
|
|
619
675
|
throw Error('Missing parameters');
|
|
620
676
|
// 获取数据库服务实例以使用正确的语法
|
|
621
677
|
const dataSource = await databaseService['connectionService'].getActiveConnection(id, database);
|
|
622
678
|
const dbService = databaseService['getDatabaseService'](dataSource.options.type);
|
|
679
|
+
// 文档型(MongoDB):按 _id 删除,不拼 DELETE SQL
|
|
680
|
+
if ((0, dialect_1.dataModelOf)(dataSource.options.type) === 'document') {
|
|
681
|
+
if (!docId)
|
|
682
|
+
throw Error('Missing parameters: docId');
|
|
683
|
+
await dbService.deleteDocument(dataSource, database, table, docId);
|
|
684
|
+
return { success: true };
|
|
685
|
+
}
|
|
686
|
+
if (!where)
|
|
687
|
+
throw Error('Missing parameters');
|
|
623
688
|
const sql = generateDeleteSQL(dataSource.options.type, table, where, dbService);
|
|
624
689
|
const result = await databaseService.executeQuery(id, sql, database);
|
|
625
690
|
return { success: true, sql, result };
|
|
@@ -634,9 +699,15 @@ async function handleDatabaseRoutes(pathname, body, headers) {
|
|
|
634
699
|
const table = parts[5];
|
|
635
700
|
if (!id || !database || !table)
|
|
636
701
|
throw Error('Missing parameters');
|
|
637
|
-
//
|
|
702
|
+
// 获取数据库服务实例以使用正确的语法
|
|
638
703
|
const dataSource = await databaseService['connectionService'].getActiveConnection(id, database);
|
|
639
704
|
const dbService = databaseService['getDatabaseService'](dataSource.options.type);
|
|
705
|
+
// 文档型(MongoDB):deleteMany({}),无 TRUNCATE 语法
|
|
706
|
+
if ((0, dialect_1.dataModelOf)(dataSource.options.type) === 'document') {
|
|
707
|
+
const deleted = await dbService.truncateCollection(dataSource, database, table);
|
|
708
|
+
return { success: true, deleted };
|
|
709
|
+
}
|
|
710
|
+
// 使用数据库服务生成正确的TRUNCATE语法
|
|
640
711
|
const sql = `TRUNCATE TABLE ${dbService['quoteIdentifier'](table)}`;
|
|
641
712
|
const result = await databaseService.executeQuery(id, sql, database);
|
|
642
713
|
return { success: true, sql, result };
|
|
@@ -651,9 +722,15 @@ async function handleDatabaseRoutes(pathname, body, headers) {
|
|
|
651
722
|
const table = parts[5];
|
|
652
723
|
if (!id || !database || !table)
|
|
653
724
|
throw Error('Missing parameters');
|
|
654
|
-
//
|
|
725
|
+
// 获取数据库服务实例以使用正确的语法
|
|
655
726
|
const dataSource = await databaseService['connectionService'].getActiveConnection(id, database);
|
|
656
727
|
const dbService = databaseService['getDatabaseService'](dataSource.options.type);
|
|
728
|
+
// 文档型(MongoDB):collection.drop(),无 DROP TABLE 语法
|
|
729
|
+
if ((0, dialect_1.dataModelOf)(dataSource.options.type) === 'document') {
|
|
730
|
+
await dbService.dropTable(dataSource, database, table);
|
|
731
|
+
return { success: true };
|
|
732
|
+
}
|
|
733
|
+
// 使用数据库服务生成正确的DROP语法
|
|
657
734
|
const sql = `DROP TABLE ${dbService['quoteIdentifier'](table)}`;
|
|
658
735
|
const result = await databaseService.executeQuery(id, sql, database);
|
|
659
736
|
return { success: true, sql, result };
|
package/dist/server/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/index.ts"],"names":[],"mappings":"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"}
|
package/dist/server/index.ts
CHANGED
|
@@ -2,6 +2,7 @@ import * as http from "node:http";
|
|
|
2
2
|
import * as https from "node:https";
|
|
3
3
|
import { ConnectionService } from './service/connection.service';
|
|
4
4
|
import { DatabaseService } from './service/database/database.service';
|
|
5
|
+
import { dataModelOf } from './core/dialect';
|
|
5
6
|
|
|
6
7
|
// 远程代理相关常量
|
|
7
8
|
const REMOTE_ID_SEP = '::';
|
|
@@ -372,6 +373,46 @@ export async function handleDatabaseRoutes(pathname: string, body: any, headers?
|
|
|
372
373
|
return result;
|
|
373
374
|
}
|
|
374
375
|
|
|
376
|
+
// ---- 文档型(MongoDB)索引与聚合:统一走方言 service,未实现的方言会明确报错 ----
|
|
377
|
+
|
|
378
|
+
// /api/database/getIndexes
|
|
379
|
+
if (pathname === '/api/database/getIndexes') {
|
|
380
|
+
const { id, database, table } = body;
|
|
381
|
+
if (!id || !database || !table) throw Error('Missing parameters: id, database, table');
|
|
382
|
+
const dataSource = await databaseService['connectionService'].getActiveConnection(id, database);
|
|
383
|
+
const dbService = databaseService['getDatabaseService'](dataSource.options.type as string);
|
|
384
|
+
return await dbService.getIndexes(dataSource, database, table);
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
// /api/database/createIndex
|
|
388
|
+
if (pathname === '/api/database/createIndex') {
|
|
389
|
+
const { id, database, table, keys, options } = body;
|
|
390
|
+
if (!id || !database || !table || !keys) throw Error('Missing parameters: id, database, table, keys');
|
|
391
|
+
const dataSource = await databaseService['connectionService'].getActiveConnection(id, database);
|
|
392
|
+
const dbService = databaseService['getDatabaseService'](dataSource.options.type as string);
|
|
393
|
+
const name = await dbService.createIndex(dataSource, database, table, keys, options);
|
|
394
|
+
return { success: true, name };
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
// /api/database/dropIndex
|
|
398
|
+
if (pathname === '/api/database/dropIndex') {
|
|
399
|
+
const { id, database, table, indexName } = body;
|
|
400
|
+
if (!id || !database || !table || !indexName) throw Error('Missing parameters: id, database, table, indexName');
|
|
401
|
+
const dataSource = await databaseService['connectionService'].getActiveConnection(id, database);
|
|
402
|
+
const dbService = databaseService['getDatabaseService'](dataSource.options.type as string);
|
|
403
|
+
await dbService.dropIndex(dataSource, database, table, indexName);
|
|
404
|
+
return { success: true };
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
// /api/database/aggregate
|
|
408
|
+
if (pathname === '/api/database/aggregate') {
|
|
409
|
+
const { id, database, table, pipeline } = body;
|
|
410
|
+
if (!id || !database || !table || !pipeline) throw Error('Missing parameters: id, database, table, pipeline');
|
|
411
|
+
const dataSource = await databaseService['connectionService'].getActiveConnection(id, database);
|
|
412
|
+
const dbService = databaseService['getDatabaseService'](dataSource.options.type as string);
|
|
413
|
+
return await dbService.aggregate(dataSource, database, table, pipeline);
|
|
414
|
+
}
|
|
415
|
+
|
|
375
416
|
// /api/database/getTableData
|
|
376
417
|
if (pathname === '/api/database/getTableData') {
|
|
377
418
|
const { id, database, table, page = 1, pageSize = 100, where, orderBy } = body;
|
|
@@ -597,6 +638,14 @@ export async function handleDatabaseRoutes(pathname: string, body: any, headers?
|
|
|
597
638
|
const dataSource = await databaseService['connectionService'].getActiveConnection(id, database);
|
|
598
639
|
const dbService = databaseService['getDatabaseService'](dataSource.options.type as string);
|
|
599
640
|
|
|
641
|
+
// 文档型(MongoDB):直接插入文档,不拼 INSERT SQL
|
|
642
|
+
if (dataModelOf(dataSource.options.type as string) === 'document') {
|
|
643
|
+
const result = Array.isArray(data)
|
|
644
|
+
? await dbService.bulkInsert(dataSource, database, table, data)
|
|
645
|
+
: await dbService.insertDocument(dataSource, database, table, data);
|
|
646
|
+
return { success: true, result };
|
|
647
|
+
}
|
|
648
|
+
|
|
600
649
|
// 获取表的列信息,用于过滤自增字段
|
|
601
650
|
const columns = await dbService.getColumns(dataSource, database, table);
|
|
602
651
|
|
|
@@ -607,13 +656,21 @@ export async function handleDatabaseRoutes(pathname: string, body: any, headers?
|
|
|
607
656
|
|
|
608
657
|
// /api/database/updateData
|
|
609
658
|
if (pathname === '/api/database/updateData') {
|
|
610
|
-
const { id, database, table, data, where } = body;
|
|
611
|
-
if (!id || !database || !table || !data
|
|
659
|
+
const { id, database, table, data, where, docId } = body;
|
|
660
|
+
if (!id || !database || !table || !data) throw Error('Missing parameters');
|
|
612
661
|
|
|
613
662
|
// 获取数据库服务实例以使用正确的语法
|
|
614
663
|
const dataSource = await databaseService['connectionService'].getActiveConnection(id, database);
|
|
615
664
|
const dbService = databaseService['getDatabaseService'](dataSource.options.type as string);
|
|
616
665
|
|
|
666
|
+
// 文档型(MongoDB):按 _id 更新,不拼 UPDATE SQL
|
|
667
|
+
if (dataModelOf(dataSource.options.type as string) === 'document') {
|
|
668
|
+
if (!docId) throw Error('Missing parameters: docId');
|
|
669
|
+
await dbService.updateDocument(dataSource, database, table, docId, data);
|
|
670
|
+
return { success: true };
|
|
671
|
+
}
|
|
672
|
+
if (!where) throw Error('Missing parameters');
|
|
673
|
+
|
|
617
674
|
const sql = generateUpdateSQL(dataSource.options.type as string, table, data, where, dbService);
|
|
618
675
|
const result = await databaseService.executeQuery(id, sql, database);
|
|
619
676
|
return { sql, result };
|
|
@@ -621,13 +678,21 @@ export async function handleDatabaseRoutes(pathname: string, body: any, headers?
|
|
|
621
678
|
|
|
622
679
|
// /api/database/deleteData
|
|
623
680
|
if (pathname === '/api/database/deleteData') {
|
|
624
|
-
const { id, database, table, where } = body;
|
|
625
|
-
if (!id || !database || !table
|
|
681
|
+
const { id, database, table, where, docId } = body;
|
|
682
|
+
if (!id || !database || !table) throw Error('Missing parameters');
|
|
626
683
|
|
|
627
684
|
// 获取数据库服务实例以使用正确的语法
|
|
628
685
|
const dataSource = await databaseService['connectionService'].getActiveConnection(id, database);
|
|
629
686
|
const dbService = databaseService['getDatabaseService'](dataSource.options.type as string);
|
|
630
687
|
|
|
688
|
+
// 文档型(MongoDB):按 _id 删除,不拼 DELETE SQL
|
|
689
|
+
if (dataModelOf(dataSource.options.type as string) === 'document') {
|
|
690
|
+
if (!docId) throw Error('Missing parameters: docId');
|
|
691
|
+
await dbService.deleteDocument(dataSource, database, table, docId);
|
|
692
|
+
return { success: true };
|
|
693
|
+
}
|
|
694
|
+
if (!where) throw Error('Missing parameters');
|
|
695
|
+
|
|
631
696
|
const sql = generateDeleteSQL(dataSource.options.type as string, table, where, dbService);
|
|
632
697
|
const result = await databaseService.executeQuery(id, sql, database);
|
|
633
698
|
return { success: true, sql, result };
|
|
@@ -642,9 +707,17 @@ export async function handleDatabaseRoutes(pathname: string, body: any, headers?
|
|
|
642
707
|
const table = parts[5];
|
|
643
708
|
if (!id || !database || !table) throw Error('Missing parameters');
|
|
644
709
|
|
|
645
|
-
//
|
|
710
|
+
// 获取数据库服务实例以使用正确的语法
|
|
646
711
|
const dataSource = await databaseService['connectionService'].getActiveConnection(id, database);
|
|
647
712
|
const dbService = databaseService['getDatabaseService'](dataSource.options.type as string);
|
|
713
|
+
|
|
714
|
+
// 文档型(MongoDB):deleteMany({}),无 TRUNCATE 语法
|
|
715
|
+
if (dataModelOf(dataSource.options.type as string) === 'document') {
|
|
716
|
+
const deleted = await dbService.truncateCollection(dataSource, database, table);
|
|
717
|
+
return { success: true, deleted };
|
|
718
|
+
}
|
|
719
|
+
|
|
720
|
+
// 使用数据库服务生成正确的TRUNCATE语法
|
|
648
721
|
const sql = `TRUNCATE TABLE ${dbService['quoteIdentifier'](table)}`;
|
|
649
722
|
const result = await databaseService.executeQuery(id, sql, database);
|
|
650
723
|
return { success: true, sql, result };
|
|
@@ -659,9 +732,17 @@ export async function handleDatabaseRoutes(pathname: string, body: any, headers?
|
|
|
659
732
|
const table = parts[5];
|
|
660
733
|
if (!id || !database || !table) throw Error('Missing parameters');
|
|
661
734
|
|
|
662
|
-
//
|
|
735
|
+
// 获取数据库服务实例以使用正确的语法
|
|
663
736
|
const dataSource = await databaseService['connectionService'].getActiveConnection(id, database);
|
|
664
737
|
const dbService = databaseService['getDatabaseService'](dataSource.options.type as string);
|
|
738
|
+
|
|
739
|
+
// 文档型(MongoDB):collection.drop(),无 DROP TABLE 语法
|
|
740
|
+
if (dataModelOf(dataSource.options.type as string) === 'document') {
|
|
741
|
+
await dbService.dropTable(dataSource, database, table);
|
|
742
|
+
return { success: true };
|
|
743
|
+
}
|
|
744
|
+
|
|
745
|
+
// 使用数据库服务生成正确的DROP语法
|
|
665
746
|
const sql = `DROP TABLE ${dbService['quoteIdentifier'](table)}`;
|
|
666
747
|
const result = await databaseService.executeQuery(id, sql, database);
|
|
667
748
|
return { success: true, sql, result };
|
|
@@ -144,6 +144,11 @@ export interface DdlCapability {
|
|
|
144
144
|
columnComment: boolean;
|
|
145
145
|
/** native=原生 ALTER;rebuild=需重建表(SQLite);unsupported=不支持(MongoDB) */
|
|
146
146
|
alterStrategy: 'native' | 'rebuild' | 'unsupported';
|
|
147
|
+
/**
|
|
148
|
+
* 建表路径:sql=生成并执行 CREATE TABLE DDL(默认);
|
|
149
|
+
* driver=方言无模式、无 CREATE TABLE 语法,走驱动原生调用建集合(MongoDB),忽略列定义。
|
|
150
|
+
*/
|
|
151
|
+
createStrategy?: 'sql' | 'driver';
|
|
147
152
|
quoteStyle: 'backtick' | 'double' | 'bracket';
|
|
148
153
|
}
|
|
149
154
|
/** 预览结果:纯计算,不触碰数据库(建表场景无 diff,changeSet 为 null) */
|
|
@@ -151,6 +156,8 @@ export interface DdlPreview {
|
|
|
151
156
|
statements: string[];
|
|
152
157
|
preview: string;
|
|
153
158
|
changeSet: TableChangeSet | null;
|
|
159
|
+
/** 非致命的计划级错误(如方言不支持建表/改表、表已存在)。带回前端用于禁用 UI 与提示,而非抛错 */
|
|
160
|
+
error?: string | null;
|
|
154
161
|
}
|
|
155
162
|
/** 执行结果 */
|
|
156
163
|
export interface DdlExecuteResult {
|
|
@@ -159,5 +166,7 @@ export interface DdlExecuteResult {
|
|
|
159
166
|
conflict?: {
|
|
160
167
|
reason: string;
|
|
161
168
|
};
|
|
169
|
+
/** 驱动原生路径执行(无模式方言建集合):无 SQL 语句但已实际创建,statements 恒为空,前端不得按"无修改"处理 */
|
|
170
|
+
native?: boolean;
|
|
162
171
|
}
|
|
163
172
|
//# sourceMappingURL=ddl-spec.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ddl-spec.d.ts","sourceRoot":"","sources":["../../../server/model/ddl-spec.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ddl-spec.d.ts","sourceRoot":"","sources":["../../../server/model/ddl-spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -157,6 +157,11 @@ export interface DdlCapability {
|
|
|
157
157
|
columnComment: boolean;
|
|
158
158
|
/** native=原生 ALTER;rebuild=需重建表(SQLite);unsupported=不支持(MongoDB) */
|
|
159
159
|
alterStrategy: 'native' | 'rebuild' | 'unsupported';
|
|
160
|
+
/**
|
|
161
|
+
* 建表路径:sql=生成并执行 CREATE TABLE DDL(默认);
|
|
162
|
+
* driver=方言无模式、无 CREATE TABLE 语法,走驱动原生调用建集合(MongoDB),忽略列定义。
|
|
163
|
+
*/
|
|
164
|
+
createStrategy?: 'sql' | 'driver';
|
|
160
165
|
quoteStyle: 'backtick' | 'double' | 'bracket';
|
|
161
166
|
}
|
|
162
167
|
|
|
@@ -165,6 +170,8 @@ export interface DdlPreview {
|
|
|
165
170
|
statements: string[];
|
|
166
171
|
preview: string;
|
|
167
172
|
changeSet: TableChangeSet | null;
|
|
173
|
+
/** 非致命的计划级错误(如方言不支持建表/改表、表已存在)。带回前端用于禁用 UI 与提示,而非抛错 */
|
|
174
|
+
error?: string | null;
|
|
168
175
|
}
|
|
169
176
|
|
|
170
177
|
/** 执行结果 */
|
|
@@ -172,4 +179,6 @@ export interface DdlExecuteResult {
|
|
|
172
179
|
statements: string[];
|
|
173
180
|
/** 执行时后端重新读取的实时结构与前端 baseline 不一致时拒绝执行(409) */
|
|
174
181
|
conflict?: { reason: string };
|
|
182
|
+
/** 驱动原生路径执行(无模式方言建集合):无 SQL 语句但已实际创建,statements 恒为空,前端不得按"无修改"处理 */
|
|
183
|
+
native?: boolean;
|
|
175
184
|
}
|
|
@@ -83,6 +83,14 @@ export declare class ConnectionService {
|
|
|
83
83
|
* 创建TypeORM数据源
|
|
84
84
|
*/
|
|
85
85
|
private createTypeORMDataSource;
|
|
86
|
+
/**
|
|
87
|
+
* 驱动就绪检查。
|
|
88
|
+
*
|
|
89
|
+
* 某些方言依赖未随默认依赖安装的原生/可选驱动(如 SAP HANA 的 @sap/hana-client)。
|
|
90
|
+
* 若缺失,TypeORM 会抛出 "Cannot find module ..." 这类含义不明的错误,
|
|
91
|
+
* 这里提前给出可执行的安装提示。
|
|
92
|
+
*/
|
|
93
|
+
private assertDriverAvailable;
|
|
86
94
|
/**
|
|
87
95
|
* 创建临时数据库连接
|
|
88
96
|
* 用于同步操作中的目标数据库连接
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.service.d.ts","sourceRoot":"","sources":["../../../server/service/connection.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAU7D;;;GAGG;AACH,qBAAa,iBAAiB;IAE5B;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC;;OAEG;IACH,OAAO,CAAC,iBAAiB,CAAsC;IAE/D;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB,CAA+C;;IAMzE;;OAEG;IACG,IAAI;IAIV;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAatD;;OAEG;IACG,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAKrE;;OAEG;IACG,aAAa,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAoB5E;;OAEG;IACG,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAyBjG;;OAEG;IACG,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBjD;;;;;OAKG;IACG,cAAc,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"connection.service.d.ts","sourceRoot":"","sources":["../../../server/service/connection.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAU7D;;;GAGG;AACH,qBAAa,iBAAiB;IAE5B;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC;;OAEG;IACH,OAAO,CAAC,iBAAiB,CAAsC;IAE/D;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB,CAA+C;;IAMzE;;OAEG;IACG,IAAI;IAIV;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAatD;;OAEG;IACG,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAKrE;;OAEG;IACG,aAAa,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAoB5E;;OAEG;IACG,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAyBjG;;OAEG;IACG,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBjD;;;;;OAKG;IACG,cAAc,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IA4BpE;;;;;OAKG;IACG,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAgC7E,uCAAuC;YACzB,wBAAwB;IAuBtC,2CAA2C;YAC7B,SAAS;IAUvB,4BAA4B;YACd,cAAc;IAS5B;;OAEG;IACG,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAanE;;OAEG;IACG,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAenE;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAW1C;;OAEG;YACW,uBAAuB;IAWrC;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAkB7B;;;OAGG;IACG,yBAAyB,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;IAkB1F;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA2GzB;;OAEG;YACW,eAAe;IAkB7B;;OAEG;IACH,OAAO,CAAC,UAAU;CAGnB"}
|