mcp-dbutils 0.15.5__tar.gz → 0.16.1__tar.gz

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 (66) hide show
  1. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/CHANGELOG.md +14 -0
  2. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/PKG-INFO +1 -1
  3. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/pyproject.toml +1 -1
  4. mcp_dbutils-0.16.1/scripts/fix_imports.sh +15 -0
  5. mcp_dbutils-0.16.1/scripts/fix_remaining_issues.sh +11 -0
  6. mcp_dbutils-0.16.1/scripts/sonar-ai-fix.fish +103 -0
  7. mcp_dbutils-0.16.1/src/mcp_dbutils/base.py +817 -0
  8. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/src/mcp_dbutils/mysql/config.py +122 -54
  9. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/src/mcp_dbutils/mysql/handler.py +9 -9
  10. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/src/mcp_dbutils/mysql/server.py +3 -3
  11. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/src/mcp_dbutils/sqlite/handler.py +4 -4
  12. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/src/mcp_dbutils/sqlite/server.py +2 -2
  13. mcp_dbutils-0.16.1/tests/integration/test_mysql_config_helpers.py +296 -0
  14. mcp_dbutils-0.16.1/tests/unit/test_base_handlers.py +117 -0
  15. mcp_dbutils-0.16.1/tests/unit/test_base_helpers.py +318 -0
  16. mcp_dbutils-0.16.1/tests/unit/test_base_server.py +1032 -0
  17. mcp_dbutils-0.16.1/tests/unit/test_mysql_handler.py +639 -0
  18. mcp_dbutils-0.15.5/scripts/sonar-ai-fix.fish +0 -62
  19. mcp_dbutils-0.15.5/src/mcp_dbutils/base.py +0 -699
  20. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/.coveragerc +0 -0
  21. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/.github/workflows/code-style.yml +0 -0
  22. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/.github/workflows/quality-assurance.yml +0 -0
  23. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/.github/workflows/release.yml +0 -0
  24. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/.gitignore +0 -0
  25. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/.pre-commit-config.yaml +0 -0
  26. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/.releaserc.json +0 -0
  27. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/Dockerfile +0 -0
  28. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/LICENSE +0 -0
  29. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/README.md +0 -0
  30. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/README_CN.md +0 -0
  31. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/config.yaml.example +0 -0
  32. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/smithery.yaml +0 -0
  33. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/sonar-project.properties +0 -0
  34. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/src/mcp_dbutils/__init__.py +0 -0
  35. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/src/mcp_dbutils/config.py +0 -0
  36. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/src/mcp_dbutils/log.py +0 -0
  37. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/src/mcp_dbutils/mysql/__init__.py +0 -0
  38. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/src/mcp_dbutils/postgres/__init__.py +0 -0
  39. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/src/mcp_dbutils/postgres/config.py +0 -0
  40. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/src/mcp_dbutils/postgres/handler.py +0 -0
  41. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/src/mcp_dbutils/postgres/server.py +0 -0
  42. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/src/mcp_dbutils/sqlite/__init__.py +0 -0
  43. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/src/mcp_dbutils/sqlite/config.py +0 -0
  44. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/src/mcp_dbutils/stats.py +0 -0
  45. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/tests/conftest.py +0 -0
  46. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/tests/integration/__init__.py +0 -0
  47. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/tests/integration/conftest.py +0 -0
  48. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/tests/integration/fixtures.py +0 -0
  49. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/tests/integration/test_logging.py +0 -0
  50. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/tests/integration/test_monitoring.py +0 -0
  51. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/tests/integration/test_monitoring_enhanced.py +0 -0
  52. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/tests/integration/test_mysql.py +0 -0
  53. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/tests/integration/test_mysql_config.py +0 -0
  54. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/tests/integration/test_postgres.py +0 -0
  55. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/tests/integration/test_postgres_config.py +0 -0
  56. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/tests/integration/test_prompts.py +0 -0
  57. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/tests/integration/test_sqlite.py +0 -0
  58. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/tests/integration/test_sqlite_config.py +0 -0
  59. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/tests/integration/test_tools.py +0 -0
  60. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/tests/integration/test_tools_advanced.py +0 -0
  61. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/tests/unit/test_base.py +0 -0
  62. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/tests/unit/test_log.py +0 -0
  63. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/tests/unit/test_mysql_server.py +0 -0
  64. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/tests/unit/test_postgres_server.py +0 -0
  65. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/tests/unit/test_sqlite_server.py +0 -0
  66. {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.1}/tests/unit/test_stats.py +0 -0
@@ -1,3 +1,17 @@
1
+ ## [0.16.1](https://github.com/donghao1393/mcp-dbutils/compare/v0.16.0...v0.16.1) (2025-03-15)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * some SonarCloud issues ([#51](https://github.com/donghao1393/mcp-dbutils/issues/51)) ([4df99de](https://github.com/donghao1393/mcp-dbutils/commit/4df99de5d7d12c018aa5e28e9f785e5f0828543d))
7
+
8
+ # [0.16.0](https://github.com/donghao1393/mcp-dbutils/compare/v0.15.5...v0.16.0) (2025-03-15)
9
+
10
+
11
+ ### Features
12
+
13
+ * 增强sonar-ai-fix脚本,添加PR支持和文件名自定义 ([ec8e574](https://github.com/donghao1393/mcp-dbutils/commit/ec8e574626a6907933c7a1c3853f88020bcf59b7))
14
+
1
15
  ## [0.15.5](https://github.com/donghao1393/mcp-dbutils/compare/v0.15.4...v0.15.5) (2025-03-15)
2
16
 
3
17
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-dbutils
3
- Version: 0.15.5
3
+ Version: 0.16.1
4
4
  Summary: MCP Database Utilities Service
5
5
  Author: Dong Hao
6
6
  License-Expression: MIT
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mcp-dbutils"
3
- version = "0.15.5"
3
+ version = "0.16.1"
4
4
  description = "MCP Database Utilities Service"
5
5
  readme = "README.md"
6
6
  license = "MIT"
@@ -0,0 +1,15 @@
1
+ #!/bin/bash
2
+
3
+ # 修复导入排序问题 (I001)
4
+ echo "修复导入排序问题 (I001)..."
5
+ ruff check --select I --fix src/ tests/
6
+
7
+ # 修复未使用的导入 (F401)
8
+ echo "修复未使用的导入 (F401)..."
9
+ ruff check --select F401 --fix src/ tests/
10
+
11
+ # 修复过时的typing导入 (UP035)
12
+ echo "修复过时的typing导入 (UP035)..."
13
+ ruff check --select UP035 --fix src/ tests/
14
+
15
+ echo "导入问题修复完成!"
@@ -0,0 +1,11 @@
1
+ #!/bin/bash
2
+
3
+ # 修复导入排序问题 (I001)
4
+ echo "修复导入排序问题 (I001)..."
5
+ ruff check --select I --fix src/ tests/
6
+
7
+ # 修复print语句 (T201)
8
+ echo "修复print语句 (T201)..."
9
+ ruff check --select T201 --fix src/ tests/
10
+
11
+ echo "剩余问题修复完成!"
@@ -0,0 +1,103 @@
1
+ #!/usr/bin/env fish
2
+
3
+ function sonar-ai-fix
4
+ set -l options (fish_opt --short=h --long=help)
5
+ set options $options (fish_opt --short=p --long=pr --required-val)
6
+ set options $options (fish_opt --short=o --long=output --required-val)
7
+
8
+ argparse $options -- $argv
9
+
10
+ # 显示帮助信息
11
+ if set -q _flag_help
12
+ echo "用法: sonar-ai-fix [选项]"
13
+ echo ""
14
+ echo "选项:"
15
+ echo " -h, --help 显示帮助信息"
16
+ echo " -p, --pr PR_NUMBER 获取特定PR的SonarCloud报告"
17
+ echo " -o, --output PREFIX 设置输出文件名前缀 (默认: sonar)"
18
+ echo ""
19
+ echo "示例:"
20
+ echo " sonar-ai-fix # 获取最新的SonarCloud报告"
21
+ echo " sonar-ai-fix --pr 42 # 获取PR #42的SonarCloud报告"
22
+ echo " sonar-ai-fix -o pr42 # 将输出文件保存为pr42_report.md和pr42_issues.json"
23
+ return 0
24
+ end
25
+
26
+ # 设置输出文件名前缀
27
+ set -l OUTPUT_PREFIX "sonar"
28
+ if set -q _flag_output
29
+ set OUTPUT_PREFIX $_flag_output
30
+ end
31
+
32
+ # 检查当前目录是否是项目目录
33
+ if not test -f "pyproject.toml"; or not test -d "src/mcp_dbutils"
34
+ echo "错误: 请在项目根目录运行此命令"
35
+ echo "当前目录不是mcp-dbutils项目目录"
36
+ return 1
37
+ end
38
+
39
+ # 下载最新的构件
40
+ echo "正在下载 SonarCloud 分析报告..."
41
+
42
+ # 获取工作流运行ID
43
+ set -l RUN_ID
44
+
45
+ if set -q _flag_pr
46
+ echo "获取PR #$_flag_pr的SonarCloud报告..."
47
+ set RUN_ID (gh run list --workflow "Quality Assurance" --branch "pull/$_flag_pr/head" --limit 1 --json databaseId --jq '.[0].databaseId')
48
+ else
49
+ echo "获取最新的SonarCloud报告..."
50
+ set RUN_ID (gh run list --workflow "Quality Assurance" --limit 1 --json databaseId --jq '.[0].databaseId')
51
+ end
52
+
53
+ if test -z "$RUN_ID"
54
+ echo "错误: 无法获取工作流运行ID"
55
+ return 1
56
+ else
57
+ echo "RUN_ID: $RUN_ID"
58
+ end
59
+
60
+ # 创建临时目录存放下载的文件
61
+ set TEMP_DIR (mktemp -d)
62
+
63
+ # 下载构件
64
+ gh run download $RUN_ID --name sonarcloud-issues --dir $TEMP_DIR
65
+
66
+ if test $status -ne 0
67
+ echo "错误: 下载构件失败"
68
+ rm -rf $TEMP_DIR
69
+ return 1
70
+ end
71
+
72
+ # 检查文件是否存在
73
+ if not test -f "$TEMP_DIR/sonar_report.md"
74
+ echo "错误: 未找到 sonar_report.md 文件"
75
+ rm -rf $TEMP_DIR
76
+ return 1
77
+ end
78
+
79
+ if not test -f "$TEMP_DIR/sonar_issues.json"
80
+ echo "错误: 未找到 sonar_issues.json 文件"
81
+ rm -rf $TEMP_DIR
82
+ return 1
83
+ end
84
+
85
+ # 复制文件到当前目录
86
+ set -l REPORT_FILE "$OUTPUT_PREFIX"_report.md
87
+ set -l ISSUES_FILE "$OUTPUT_PREFIX"_issues.json
88
+
89
+ cp "$TEMP_DIR/sonar_report.md" ./$REPORT_FILE
90
+ cp "$TEMP_DIR/sonar_issues.json" ./$ISSUES_FILE
91
+
92
+ # 清理临时目录
93
+ rm -rf $TEMP_DIR
94
+
95
+ echo "已下载 SonarCloud 分析报告:"
96
+ echo "- $REPORT_FILE: Markdown格式的报告,适合人类阅读"
97
+ echo "- $ISSUES_FILE: JSON格式的原始数据,适合AI处理"
98
+ echo ""
99
+ echo "使用方法:"
100
+ echo "1. 查看报告: cat $REPORT_FILE"
101
+ echo "2. 提供给AI: 将$REPORT_FILE的内容复制给AI,请求修复建议"
102
+ echo "3. 高级分析: 将$ISSUES_FILE提供给AI进行更深入的分析"
103
+ end