fdb2 1.0.6 → 1.0.7

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.
Files changed (192) hide show
  1. package/.vscodeignore +45 -0
  2. package/README.md +24 -85
  3. package/dist/package.json +115 -0
  4. package/dist/pnpm-lock.yaml +7447 -0
  5. package/dist/public/explorer.css +244 -111
  6. package/dist/public/explorer.js +518 -275
  7. package/dist/scripts/preinstall.js +112 -0
  8. package/dist/server/index.d.ts.map +1 -1
  9. package/dist/server/index.js +4 -9
  10. package/dist/server/index.js.map +1 -1
  11. package/dist/server/index.ts +5 -10
  12. package/dist/server/service/connection.service.d.ts.map +1 -1
  13. package/dist/server/service/connection.service.js +1 -0
  14. package/dist/server/service/connection.service.js.map +1 -1
  15. package/dist/server/service/connection.service.ts +1 -0
  16. package/dist/server/service/database/base.service.d.ts +4 -0
  17. package/dist/server/service/database/base.service.d.ts.map +1 -1
  18. package/dist/server/service/database/base.service.js +3 -3
  19. package/dist/server/service/database/base.service.js.map +1 -1
  20. package/dist/server/service/database/base.service.ts +8 -3
  21. package/dist/server/service/database/cockroachdb.service.d.ts +5 -0
  22. package/dist/server/service/database/cockroachdb.service.d.ts.map +1 -1
  23. package/dist/server/service/database/cockroachdb.service.js +112 -0
  24. package/dist/server/service/database/cockroachdb.service.js.map +1 -1
  25. package/dist/server/service/database/cockroachdb.service.ts +123 -0
  26. package/dist/server/service/database/database.service.d.ts +4 -0
  27. package/dist/server/service/database/database.service.d.ts.map +1 -1
  28. package/dist/server/service/database/database.service.js +8 -0
  29. package/dist/server/service/database/database.service.js.map +1 -1
  30. package/dist/server/service/database/database.service.ts +9 -0
  31. package/dist/server/service/database/mongodb.service.d.ts +6 -0
  32. package/dist/server/service/database/mongodb.service.d.ts.map +1 -1
  33. package/dist/server/service/database/mongodb.service.js +8 -0
  34. package/dist/server/service/database/mongodb.service.js.map +1 -1
  35. package/dist/server/service/database/mongodb.service.ts +9 -0
  36. package/dist/server/service/database/mssql.service.d.ts +4 -0
  37. package/dist/server/service/database/mssql.service.d.ts.map +1 -1
  38. package/dist/server/service/database/mssql.service.js +105 -0
  39. package/dist/server/service/database/mssql.service.js.map +1 -1
  40. package/dist/server/service/database/mssql.service.ts +118 -0
  41. package/dist/server/service/database/mysql.service.d.ts +4 -0
  42. package/dist/server/service/database/mysql.service.d.ts.map +1 -1
  43. package/dist/server/service/database/mysql.service.js +116 -0
  44. package/dist/server/service/database/mysql.service.js.map +1 -1
  45. package/dist/server/service/database/mysql.service.ts +130 -0
  46. package/dist/server/service/database/oracle.service.d.ts +4 -0
  47. package/dist/server/service/database/oracle.service.d.ts.map +1 -1
  48. package/dist/server/service/database/oracle.service.js +114 -0
  49. package/dist/server/service/database/oracle.service.js.map +1 -1
  50. package/dist/server/service/database/oracle.service.ts +128 -0
  51. package/dist/server/service/database/postgres.service.d.ts +4 -0
  52. package/dist/server/service/database/postgres.service.d.ts.map +1 -1
  53. package/dist/server/service/database/postgres.service.js +120 -0
  54. package/dist/server/service/database/postgres.service.js.map +1 -1
  55. package/dist/server/service/database/postgres.service.ts +131 -0
  56. package/dist/server/service/database/sap.service.d.ts +4 -0
  57. package/dist/server/service/database/sap.service.d.ts.map +1 -1
  58. package/dist/server/service/database/sap.service.js +107 -0
  59. package/dist/server/service/database/sap.service.js.map +1 -1
  60. package/dist/server/service/database/sap.service.ts +120 -0
  61. package/dist/server/service/database/sqlite.service.d.ts +5 -0
  62. package/dist/server/service/database/sqlite.service.d.ts.map +1 -1
  63. package/dist/server/service/database/sqlite.service.js +133 -0
  64. package/dist/server/service/database/sqlite.service.js.map +1 -1
  65. package/dist/server/service/database/sqlite.service.ts +150 -0
  66. package/package.json +18 -9
  67. package/packages/vscode/.vscodeignore +44 -0
  68. package/packages/vscode/README.md +62 -0
  69. package/packages/vscode/out/database-services/base.service.js +236 -0
  70. package/packages/vscode/out/database-services/base.service.js.map +1 -0
  71. package/packages/vscode/out/database-services/cockroachdb.service.js +634 -0
  72. package/packages/vscode/out/database-services/cockroachdb.service.js.map +1 -0
  73. package/packages/vscode/out/database-services/connection.service.js +346 -0
  74. package/packages/vscode/out/database-services/connection.service.js.map +1 -0
  75. package/packages/vscode/out/database-services/database.service.js +571 -0
  76. package/packages/vscode/out/database-services/database.service.js.map +1 -0
  77. package/packages/vscode/out/database-services/index.js +18 -0
  78. package/packages/vscode/out/database-services/index.js.map +1 -0
  79. package/packages/vscode/out/database-services/model/connection.entity.js +11 -0
  80. package/packages/vscode/out/database-services/model/connection.entity.js.map +1 -0
  81. package/packages/vscode/out/database-services/model/database.entity.js +35 -0
  82. package/packages/vscode/out/database-services/model/database.entity.js.map +1 -0
  83. package/packages/vscode/out/database-services/mongodb.service.js +458 -0
  84. package/packages/vscode/out/database-services/mongodb.service.js.map +1 -0
  85. package/packages/vscode/out/database-services/mssql.service.js +694 -0
  86. package/packages/vscode/out/database-services/mssql.service.js.map +1 -0
  87. package/packages/vscode/out/database-services/mysql.service.js +735 -0
  88. package/packages/vscode/out/database-services/mysql.service.js.map +1 -0
  89. package/packages/vscode/out/database-services/oracle.service.js +787 -0
  90. package/packages/vscode/out/database-services/oracle.service.js.map +1 -0
  91. package/packages/vscode/out/database-services/postgres.service.js +696 -0
  92. package/packages/vscode/out/database-services/postgres.service.js.map +1 -0
  93. package/packages/vscode/out/database-services/sap.service.js +695 -0
  94. package/packages/vscode/out/database-services/sap.service.js.map +1 -0
  95. package/packages/vscode/out/database-services/sqlite.service.js +532 -0
  96. package/packages/vscode/out/database-services/sqlite.service.js.map +1 -0
  97. package/packages/vscode/out/extension.js +93 -0
  98. package/packages/vscode/out/extension.js.map +1 -0
  99. package/packages/vscode/out/provider/DatabaseTreeProvider.js +159 -0
  100. package/packages/vscode/out/provider/DatabaseTreeProvider.js.map +1 -0
  101. package/packages/vscode/out/provider/WebViewProvider.js +259 -0
  102. package/packages/vscode/out/provider/WebViewProvider.js.map +1 -0
  103. package/packages/vscode/out/service/ConnectionManager.js +105 -0
  104. package/packages/vscode/out/service/ConnectionManager.js.map +1 -0
  105. package/packages/vscode/out/service/DatabaseServiceBridge.js +395 -0
  106. package/packages/vscode/out/service/DatabaseServiceBridge.js.map +1 -0
  107. package/packages/vscode/out/typings/connection.js +3 -0
  108. package/packages/vscode/out/typings/connection.js.map +1 -0
  109. package/packages/vscode/package.json +142 -0
  110. package/packages/vscode/resources/icon.svg +5 -0
  111. package/packages/vscode/resources/webview/_plugin-vue_export-helper.js +6529 -0
  112. package/packages/vscode/resources/webview/_plugin-vue_export-helper.js.map +1 -0
  113. package/packages/vscode/resources/webview/connection.css +69 -0
  114. package/packages/vscode/resources/webview/connection.js +228 -0
  115. package/packages/vscode/resources/webview/connection.js.map +1 -0
  116. package/packages/vscode/resources/webview/database.css +259 -0
  117. package/packages/vscode/resources/webview/database.js +275 -0
  118. package/packages/vscode/resources/webview/database.js.map +1 -0
  119. package/packages/vscode/resources/webview/favicon.ico +0 -0
  120. package/packages/vscode/resources/webview/index.html +9 -0
  121. package/packages/vscode/resources/webview/modules/header.tpl +14 -0
  122. package/packages/vscode/resources/webview/modules/initial_state.tpl +55 -0
  123. package/packages/vscode/resources/webview/query.css +162 -0
  124. package/packages/vscode/resources/webview/query.js +198 -0
  125. package/packages/vscode/resources/webview/query.js.map +1 -0
  126. package/packages/vscode/src/database-services/base.service.js.map +1 -0
  127. package/packages/vscode/src/database-services/base.service.ts +363 -0
  128. package/packages/vscode/src/database-services/cockroachdb.service.js.map +1 -0
  129. package/packages/vscode/src/database-services/cockroachdb.service.ts +659 -0
  130. package/packages/vscode/src/database-services/connection.service.ts +341 -0
  131. package/packages/vscode/src/database-services/database.service.ts +630 -0
  132. package/packages/vscode/src/database-services/index.ts +7 -0
  133. package/packages/vscode/src/database-services/model/connection.entity.js +11 -0
  134. package/packages/vscode/src/database-services/model/connection.entity.js.map +1 -0
  135. package/packages/vscode/src/database-services/model/connection.entity.ts +66 -0
  136. package/packages/vscode/src/database-services/model/database.entity.js +35 -0
  137. package/packages/vscode/src/database-services/model/database.entity.js.map +1 -0
  138. package/packages/vscode/src/database-services/model/database.entity.ts +246 -0
  139. package/packages/vscode/src/database-services/mongodb.service.js.map +1 -0
  140. package/packages/vscode/src/database-services/mongodb.service.ts +454 -0
  141. package/packages/vscode/src/database-services/mssql.service.js.map +1 -0
  142. package/packages/vscode/src/database-services/mssql.service.ts +723 -0
  143. package/packages/vscode/src/database-services/mysql.service.js.map +1 -0
  144. package/packages/vscode/src/database-services/mysql.service.ts +761 -0
  145. package/packages/vscode/src/database-services/oracle.service.js.map +1 -0
  146. package/packages/vscode/src/database-services/oracle.service.ts +832 -0
  147. package/packages/vscode/src/database-services/postgres.service.js.map +1 -0
  148. package/packages/vscode/src/database-services/postgres.service.ts +741 -0
  149. package/packages/vscode/src/database-services/sap.service.js.map +1 -0
  150. package/packages/vscode/src/database-services/sap.service.ts +713 -0
  151. package/packages/vscode/src/database-services/sqlite.service.js.map +1 -0
  152. package/packages/vscode/src/database-services/sqlite.service.ts +559 -0
  153. package/packages/vscode/src/extension.ts +76 -0
  154. package/packages/vscode/src/provider/DatabaseTreeProvider.ts +167 -0
  155. package/packages/vscode/src/provider/WebViewProvider.ts +277 -0
  156. package/packages/vscode/src/service/DatabaseServiceBridge.ts +414 -0
  157. package/packages/vscode/src/typings/connection.ts +90 -0
  158. package/packages/vscode/tsconfig.json +21 -0
  159. package/public/fdb2.png +0 -0
  160. package/server/backups/db_ai_breakout_2026-03-11T08-38-48-677Z.sql +0 -0
  161. package/server/index.ts +5 -10
  162. package/server/model/connection.entity.js +11 -0
  163. package/server/model/connection.entity.js.map +1 -0
  164. package/server/model/database.entity.js +35 -0
  165. package/server/model/database.entity.js.map +1 -0
  166. package/server/service/connection.service.ts +1 -0
  167. package/server/service/database/base.service.ts +8 -3
  168. package/server/service/database/cockroachdb.service.ts +123 -0
  169. package/server/service/database/database.service.ts +9 -0
  170. package/server/service/database/mongodb.service.ts +9 -0
  171. package/server/service/database/mssql.service.ts +118 -0
  172. package/server/service/database/mysql.service.ts +130 -0
  173. package/server/service/database/oracle.service.ts +128 -0
  174. package/server/service/database/postgres.service.ts +131 -0
  175. package/server/service/database/sap.service.ts +120 -0
  176. package/server/service/database/sqlite.service.ts +150 -0
  177. package/server/tsconfig.json +20 -0
  178. package/src/components/connection-editor/index.vue +0 -1
  179. package/src/platform/database/components/db-tools.vue +414 -174
  180. package/src/platform/database/components/table-detail.vue +1 -0
  181. package/src/platform/database/components/table-editor.vue +245 -18
  182. package/src/platform/vscode/bridge.ts +121 -0
  183. package/src/platform/vscode/components/ConnectionPanel.vue +272 -0
  184. package/src/platform/vscode/components/DatabasePanel.vue +532 -0
  185. package/src/platform/vscode/components/QueryPanel.vue +371 -0
  186. package/src/platform/vscode/entry/connection.ts +13 -0
  187. package/src/platform/vscode/entry/database.ts +13 -0
  188. package/src/platform/vscode/entry/query.ts +13 -0
  189. package/src/platform/vscode/index.ts +5 -0
  190. package/src/service/database.ts +2 -6
  191. package/vite.config.ts +46 -6
  192. package/vite.config.vscode.ts +47 -0
@@ -527,6 +527,139 @@ class SQLiteService extends base_service_1.BaseDatabaseService {
527
527
  throw new Error(`导出表数据到Excel失败: ${error.message}`);
528
528
  }
529
529
  }
530
+ /**
531
+ * 修改表结构
532
+ * SQLite的ALTER TABLE操作非常有限,需要通过重建表来实现复杂的表结构修改
533
+ */
534
+ async alterTable(dataSource, databaseName, tableDiff) {
535
+ try {
536
+ const tableName = tableDiff.tableName;
537
+ const sqlStatements = [];
538
+ // SQLite不支持直接修改表注释,只能忽略
539
+ // 如果有修改或删除列,需要重建表
540
+ if (tableDiff.modifiedColumns.length > 0 || tableDiff.deletedColumns.length > 0) {
541
+ const tempTableName = `_temp_${tableName}_${Date.now()}`;
542
+ // 获取所有列(包括新增的和未修改的)
543
+ const allColumns = [...tableDiff.addedColumns];
544
+ const existingColumns = await this.getColumns(dataSource, databaseName, tableName);
545
+ // 添加未修改的现有列
546
+ existingColumns.forEach(col => {
547
+ const isDeleted = tableDiff.deletedColumns.some((dc) => dc.name === col.name);
548
+ const isModified = tableDiff.modifiedColumns.some((mc) => mc.oldColumn.name === col.name);
549
+ if (!isDeleted && !isModified) {
550
+ allColumns.push(col);
551
+ }
552
+ });
553
+ // 添加修改后的列
554
+ tableDiff.modifiedColumns.forEach((modification) => {
555
+ allColumns.push(modification.newColumn);
556
+ });
557
+ // 创建临时表
558
+ let createTableSQL = `CREATE TABLE "${tempTableName}" (`;
559
+ const columnDefinitions = [];
560
+ allColumns.forEach(column => {
561
+ // 检查type是否已经包含长度信息(括号)
562
+ const typeHasLength = /\(\d+\)/.test(column.type);
563
+ let definition = `"${column.name}" ${column.type}`;
564
+ // 处理长度和精度(仅当type中没有指定长度时才添加)
565
+ if (!typeHasLength) {
566
+ if (column.length) {
567
+ definition += `(${column.length})`;
568
+ }
569
+ else if (column.precision) {
570
+ if (column.scale) {
571
+ definition += `(${column.precision},${column.scale})`;
572
+ }
573
+ else {
574
+ definition += `(${column.precision})`;
575
+ }
576
+ }
577
+ }
578
+ // 处理NULL约束
579
+ if (!column.nullable) {
580
+ definition += ' NOT NULL';
581
+ }
582
+ // 处理默认值
583
+ if (column.defaultValue) {
584
+ const upperDefault = column.defaultValue.toString().toUpperCase();
585
+ if (['CURRENT_TIMESTAMP', 'NOW()', 'CURRENT_DATE', 'CURRENT_TIME'].includes(upperDefault)) {
586
+ definition += ` DEFAULT ${upperDefault}`;
587
+ }
588
+ else {
589
+ definition += ` DEFAULT '${column.defaultValue}'`;
590
+ }
591
+ }
592
+ // 处理主键和自增
593
+ if (column.isPrimary) {
594
+ if (column.isAutoIncrement) {
595
+ definition += ' PRIMARY KEY AUTOINCREMENT';
596
+ }
597
+ else {
598
+ definition += ' PRIMARY KEY';
599
+ }
600
+ }
601
+ columnDefinitions.push(definition);
602
+ });
603
+ createTableSQL += columnDefinitions.join(',\n');
604
+ createTableSQL += ')';
605
+ sqlStatements.push(createTableSQL + ';');
606
+ // 复制数据到临时表
607
+ const existingColumnNames = existingColumns.map(col => `"${col.name}"`).join(', ');
608
+ const newColumnNames = allColumns.map(col => `"${col.name}"`).join(', ');
609
+ sqlStatements.push(`INSERT INTO "${tempTableName}" (${newColumnNames}) SELECT ${existingColumnNames} FROM "${tableName}";`);
610
+ // 删除旧表
611
+ sqlStatements.push(`DROP TABLE "${tableName}";`);
612
+ // 重命名临时表
613
+ sqlStatements.push(`ALTER TABLE "${tempTableName}" RENAME TO "${tableName}";`);
614
+ }
615
+ else if (tableDiff.addedColumns.length > 0) {
616
+ // 只有添加列,可以直接使用ALTER TABLE ADD COLUMN
617
+ tableDiff.addedColumns.forEach((column) => {
618
+ // 检查type是否已经包含长度信息(括号)
619
+ const typeHasLength = /\(\d+\)/.test(column.type);
620
+ let columnSQL = `ALTER TABLE "${tableName}" ADD COLUMN "${column.name}" ${column.type}`;
621
+ // 处理长度和精度(仅当type中没有指定长度时才添加)
622
+ if (!typeHasLength) {
623
+ if (column.length) {
624
+ columnSQL += `(${column.length})`;
625
+ }
626
+ else if (column.precision) {
627
+ if (column.scale) {
628
+ columnSQL += `(${column.precision},${column.scale})`;
629
+ }
630
+ else {
631
+ columnSQL += `(${column.precision})`;
632
+ }
633
+ }
634
+ }
635
+ // 处理NULL约束
636
+ if (!column.nullable) {
637
+ columnSQL += ' NOT NULL';
638
+ }
639
+ // 处理默认值
640
+ if (column.defaultValue) {
641
+ const upperDefault = column.defaultValue.toString().toUpperCase();
642
+ if (['CURRENT_TIMESTAMP', 'NOW()', 'CURRENT_DATE', 'CURRENT_TIME'].includes(upperDefault)) {
643
+ columnSQL += ` DEFAULT ${upperDefault}`;
644
+ }
645
+ else {
646
+ columnSQL += ` DEFAULT '${column.defaultValue}'`;
647
+ }
648
+ }
649
+ sqlStatements.push(columnSQL + ';');
650
+ });
651
+ }
652
+ // 执行SQL语句
653
+ if (sqlStatements.length > 0) {
654
+ await this.executeBatchQuery(dataSource, sqlStatements, { useTransaction: true });
655
+ }
656
+ return { ret: 0, message: '表结构修改成功' };
657
+ }
658
+ catch (error) {
659
+ console.error('SQLite修改表结构失败:', error);
660
+ return { ret: 1, message: `修改表结构失败: ${error instanceof Error ? error.message : String(error)}` };
661
+ }
662
+ }
530
663
  }
531
664
  exports.SQLiteService = SQLiteService;
532
665
  //# sourceMappingURL=sqlite.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.service.js","sourceRoot":"","sources":["../../../../server/service/database/sqlite.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite.service.js","sourceRoot":"","sources":["../../../../server/service/database/sqlite.service.ts"],"names":[],"mappings":"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"}
@@ -556,4 +556,154 @@ export class SQLiteService extends BaseDatabaseService {
556
556
  throw new Error(`导出表数据到Excel失败: ${error.message}`);
557
557
  }
558
558
  }
559
+
560
+ /**
561
+ * 修改表结构
562
+ * SQLite的ALTER TABLE操作非常有限,需要通过重建表来实现复杂的表结构修改
563
+ */
564
+ async alterTable(dataSource: DataSource, databaseName: string, tableDiff: any): Promise<any> {
565
+ try {
566
+ const tableName = tableDiff.tableName;
567
+ const sqlStatements: string[] = [];
568
+
569
+ // SQLite不支持直接修改表注释,只能忽略
570
+
571
+ // 如果有修改或删除列,需要重建表
572
+ if (tableDiff.modifiedColumns.length > 0 || tableDiff.deletedColumns.length > 0) {
573
+ const tempTableName = `_temp_${tableName}_${Date.now()}`;
574
+
575
+ // 获取所有列(包括新增的和未修改的)
576
+ const allColumns = [...tableDiff.addedColumns];
577
+ const existingColumns = await this.getColumns(dataSource, databaseName, tableName);
578
+
579
+ // 添加未修改的现有列
580
+ existingColumns.forEach(col => {
581
+ const isDeleted = tableDiff.deletedColumns.some((dc: any) => dc.name === col.name);
582
+ const isModified = tableDiff.modifiedColumns.some((mc: any) => mc.oldColumn.name === col.name);
583
+ if (!isDeleted && !isModified) {
584
+ allColumns.push(col);
585
+ }
586
+ });
587
+
588
+ // 添加修改后的列
589
+ tableDiff.modifiedColumns.forEach((modification: any) => {
590
+ allColumns.push(modification.newColumn);
591
+ });
592
+
593
+ // 创建临时表
594
+ let createTableSQL = `CREATE TABLE "${tempTableName}" (`;
595
+ const columnDefinitions: string[] = [];
596
+
597
+ allColumns.forEach(column => {
598
+ // 检查type是否已经包含长度信息(括号)
599
+ const typeHasLength = /\(\d+\)/.test(column.type);
600
+
601
+ let definition = `"${column.name}" ${column.type}`;
602
+
603
+ // 处理长度和精度(仅当type中没有指定长度时才添加)
604
+ if (!typeHasLength) {
605
+ if (column.length) {
606
+ definition += `(${column.length})`;
607
+ } else if (column.precision) {
608
+ if (column.scale) {
609
+ definition += `(${column.precision},${column.scale})`;
610
+ } else {
611
+ definition += `(${column.precision})`;
612
+ }
613
+ }
614
+ }
615
+
616
+ // 处理NULL约束
617
+ if (!column.nullable) {
618
+ definition += ' NOT NULL';
619
+ }
620
+
621
+ // 处理默认值
622
+ if (column.defaultValue) {
623
+ const upperDefault = column.defaultValue.toString().toUpperCase();
624
+ if (['CURRENT_TIMESTAMP', 'NOW()', 'CURRENT_DATE', 'CURRENT_TIME'].includes(upperDefault)) {
625
+ definition += ` DEFAULT ${upperDefault}`;
626
+ } else {
627
+ definition += ` DEFAULT '${column.defaultValue}'`;
628
+ }
629
+ }
630
+
631
+ // 处理主键和自增
632
+ if (column.isPrimary) {
633
+ if (column.isAutoIncrement) {
634
+ definition += ' PRIMARY KEY AUTOINCREMENT';
635
+ } else {
636
+ definition += ' PRIMARY KEY';
637
+ }
638
+ }
639
+
640
+ columnDefinitions.push(definition);
641
+ });
642
+
643
+ createTableSQL += columnDefinitions.join(',\n');
644
+ createTableSQL += ')';
645
+ sqlStatements.push(createTableSQL + ';');
646
+
647
+ // 复制数据到临时表
648
+ const existingColumnNames = existingColumns.map(col => `"${col.name}"`).join(', ');
649
+ const newColumnNames = allColumns.map(col => `"${col.name}"`).join(', ');
650
+ sqlStatements.push(`INSERT INTO "${tempTableName}" (${newColumnNames}) SELECT ${existingColumnNames} FROM "${tableName}";`);
651
+
652
+ // 删除旧表
653
+ sqlStatements.push(`DROP TABLE "${tableName}";`);
654
+
655
+ // 重命名临时表
656
+ sqlStatements.push(`ALTER TABLE "${tempTableName}" RENAME TO "${tableName}";`);
657
+
658
+ } else if (tableDiff.addedColumns.length > 0) {
659
+ // 只有添加列,可以直接使用ALTER TABLE ADD COLUMN
660
+ tableDiff.addedColumns.forEach((column: any) => {
661
+ // 检查type是否已经包含长度信息(括号)
662
+ const typeHasLength = /\(\d+\)/.test(column.type);
663
+
664
+ let columnSQL = `ALTER TABLE "${tableName}" ADD COLUMN "${column.name}" ${column.type}`;
665
+
666
+ // 处理长度和精度(仅当type中没有指定长度时才添加)
667
+ if (!typeHasLength) {
668
+ if (column.length) {
669
+ columnSQL += `(${column.length})`;
670
+ } else if (column.precision) {
671
+ if (column.scale) {
672
+ columnSQL += `(${column.precision},${column.scale})`;
673
+ } else {
674
+ columnSQL += `(${column.precision})`;
675
+ }
676
+ }
677
+ }
678
+
679
+ // 处理NULL约束
680
+ if (!column.nullable) {
681
+ columnSQL += ' NOT NULL';
682
+ }
683
+
684
+ // 处理默认值
685
+ if (column.defaultValue) {
686
+ const upperDefault = column.defaultValue.toString().toUpperCase();
687
+ if (['CURRENT_TIMESTAMP', 'NOW()', 'CURRENT_DATE', 'CURRENT_TIME'].includes(upperDefault)) {
688
+ columnSQL += ` DEFAULT ${upperDefault}`;
689
+ } else {
690
+ columnSQL += ` DEFAULT '${column.defaultValue}'`;
691
+ }
692
+ }
693
+
694
+ sqlStatements.push(columnSQL + ';');
695
+ });
696
+ }
697
+
698
+ // 执行SQL语句
699
+ if (sqlStatements.length > 0) {
700
+ await this.executeBatchQuery(dataSource, sqlStatements, { useTransaction: true });
701
+ }
702
+
703
+ return { ret: 0, message: '表结构修改成功' };
704
+ } catch (error) {
705
+ console.error('SQLite修改表结构失败:', error);
706
+ return { ret: 1, message: `修改表结构失败: ${error instanceof Error ? error.message : String(error)}` };
707
+ }
708
+ }
559
709
  }
package/package.json CHANGED
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "name": "fdb2",
3
- "version": "1.0.6",
3
+ "version": "1.0.7",
4
4
  "private": false,
5
5
  "type": "commonjs",
6
6
  "main": "view/index.html",
7
+ "homepage": "https://surl.fit/tools/tools/fdb2",
7
8
  "window": {
8
9
  "title": "数据库管理工具",
9
10
  "width": 1200,
@@ -26,6 +27,9 @@
26
27
  "test:unit": "vitest",
27
28
  "build-only": "vite build && npm run build-server",
28
29
  "build-server": "tsc -p tsconfig.server.json",
30
+ "build:vscode": "vite build --config vite.config.vscode.ts",
31
+ "build:vscode:extension": "cd packages/vscode && npm run compile",
32
+ "build:all": "npm run build && npm run build:vscode && npm run build:vscode:extension",
29
33
  "move-assets": "node move-assets.cjs",
30
34
  "type-check": "vue-tsc --noEmit --composite false",
31
35
  "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore",
@@ -35,16 +39,18 @@
35
39
  "nw:build:osx": "node nw-build.js --platform=osx",
36
40
  "nw:build:linux": "node nw-build.js --platform=linux",
37
41
  "pkg:server": "cd d:/code/ycnull/db_tool && pkg dist/server/index.js -t node18-win-x64 -o dist/server/server.exe",
38
- "build:server:pkg": "ncc build server/index.ts -o dist/server/pkg"
42
+ "build:server:pkg": "ncc build server/index.ts -o dist/server/pkg",
43
+ "vscode:dev": "cd packages/vscode && npm run watch",
44
+ "vscode:package": "cd packages/vscode && vsce package"
39
45
  },
40
46
  "dependencies": {
41
47
  "@fefeding/common": "^1.0.58",
42
48
  "axios": "^1.13.4",
43
49
  "dayjs": "^1.11.19",
44
50
  "express": "^5.2.1",
45
- "mysql2": "^3.16.2",
51
+ "mysql2": "^3.16.3",
46
52
  "oracledb": "^6.10.0",
47
- "pg": "^8.17.2",
53
+ "pg": "^8.18.0",
48
54
  "reflect-metadata": "^0.2.2",
49
55
  "sqlite3": "^5.1.7",
50
56
  "typeorm": "^0.3.28"
@@ -57,21 +63,21 @@
57
63
  "@codemirror/language": "^6.12.1",
58
64
  "@codemirror/state": "^6.5.4",
59
65
  "@codemirror/theme-one-dark": "^6.1.3",
60
- "@codemirror/view": "^6.39.11",
66
+ "@codemirror/view": "^6.39.12",
61
67
  "@fefeding/eventemitter": "^1.0.5",
62
68
  "@fefeding/vite-nunjucks-plugin": "^1.0.2",
63
69
  "@popperjs/core": "^2.11.8",
64
70
  "@rollup/pluginutils": "^5.3.0",
65
71
  "@types/bootstrap": "^5.2.10",
66
72
  "@types/jsdom": "^21.1.7",
67
- "@types/node": "^24.10.9",
73
+ "@types/node": "^24.10.10",
68
74
  "@types/vue": "^2.0.0",
69
- "@vitejs/plugin-vue": "^6.0.3",
70
- "@vitejs/plugin-vue-jsx": "^5.1.3",
75
+ "@vitejs/plugin-vue": "^6.0.4",
76
+ "@vitejs/plugin-vue-jsx": "^5.1.4",
71
77
  "@vue/tsconfig": "^0.8.1",
72
78
  "@vueuse/core": "^13.9.0",
73
79
  "@zumer/snapdom": "^1.9.14",
74
- "autoprefixer": "^10.4.23",
80
+ "autoprefixer": "^10.4.24",
75
81
  "bootstrap": "^5.3.8",
76
82
  "bootstrap-icons": "^1.13.1",
77
83
  "codemirror": "^6.0.2",
@@ -111,5 +117,8 @@
111
117
  "dist/node_modules/**/*",
112
118
  "dist/client/**/*"
113
119
  ]
120
+ },
121
+ "publishConfig": {
122
+ "registry": "https://registry.npmjs.org/"
114
123
  }
115
124
  }
@@ -0,0 +1,44 @@
1
+ # VSCode Extension Ignore File
2
+
3
+ # Dependencies
4
+ node_modules
5
+ **/node_modules/**
6
+
7
+ # Build artifacts
8
+ dist
9
+ out
10
+
11
+ # Source
12
+ src
13
+ *.ts
14
+ *.js.map
15
+
16
+ # Test files
17
+ **/test/**
18
+ **/*.test.ts
19
+ **/*.spec.ts
20
+
21
+ # IDE
22
+ .vscode-test
23
+ .idea
24
+ *.swp
25
+ *.swo
26
+
27
+ # Logs
28
+ *.log
29
+ npm-debug.log*
30
+ yarn-debug.log*
31
+ yarn-error.log*
32
+
33
+ # OS
34
+ .DS_Store
35
+ Thumbs.db
36
+
37
+ # Temporary files
38
+ *.tmp
39
+ *.temp
40
+
41
+ # Package manager files
42
+ package-lock.json
43
+ pnpm-lock.yaml
44
+ yarn.lock
@@ -0,0 +1,62 @@
1
+ # fdb2 VSCode Extension
2
+
3
+ fBDB2 的 VSCode 扩展版本,提供强大的数据库管理功能。
4
+
5
+ ## 功能特性
6
+
7
+ - 📊 支持多种数据库:MySQL、PostgreSQL、SQLite、SQL Server、Oracle 等
8
+ - 🔌 连接管理:添加、编辑、删除、测试数据库连接
9
+ - 💻 SQL 查询:内置 SQL 编辑器,支持快速查询
10
+ - 🗄️ 数据库管理:浏览数据库、表、视图结构
11
+ - 📋 表数据查看:快速浏览表数据
12
+ - 🎨 美观的 UI:基于 Vue 3 的现代化界面
13
+ - ⚡ 高性能:优化的查询和渲染性能
14
+
15
+ ## 快速开始
16
+
17
+ ### 安装扩展
18
+
19
+ 从 VSCode 扩展市场搜索 "fdb2" 或手动安装 `.vsix` 文件。
20
+
21
+ ### 添加连接
22
+
23
+ 1. 点击左侧活动栏的数据库图标
24
+ 2. 点击 "+" 按钮添加连接
25
+ 3. 填写连接信息
26
+ 4. 测试连接
27
+ 5. 保存连接
28
+
29
+ ### 执行查询
30
+
31
+ 1. 点击侧边栏的连接
32
+ 2. 点击 "打开查询面板"
33
+ 3. 输入 SQL 语句
34
+ 4. 按 Ctrl+Enter 执行
35
+
36
+ ## 使用说明
37
+
38
+ 详细使用说明请参考 [主项目 README](../../README.md)。
39
+
40
+ ## 开发
41
+
42
+ ### 构建扩展
43
+
44
+ ```bash
45
+ npm run build:all
46
+ ```
47
+
48
+ ### 开发模式
49
+
50
+ ```bash
51
+ npm run vscode:dev
52
+ ```
53
+
54
+ ### 打包
55
+
56
+ ```bash
57
+ npm run vscode:package
58
+ ```
59
+
60
+ ## 许可证
61
+
62
+ MIT License