mcp-dbutils 0.15.5__tar.gz → 0.16.0__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.
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/CHANGELOG.md +7 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/PKG-INFO +1 -1
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/pyproject.toml +1 -1
- mcp_dbutils-0.16.0/scripts/fix_imports.sh +15 -0
- mcp_dbutils-0.16.0/scripts/fix_remaining_issues.sh +11 -0
- mcp_dbutils-0.16.0/scripts/sonar-ai-fix.fish +103 -0
- mcp_dbutils-0.15.5/scripts/sonar-ai-fix.fish +0 -62
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/.coveragerc +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/.github/workflows/code-style.yml +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/.github/workflows/quality-assurance.yml +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/.github/workflows/release.yml +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/.gitignore +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/.pre-commit-config.yaml +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/.releaserc.json +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/Dockerfile +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/LICENSE +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/README.md +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/README_CN.md +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/config.yaml.example +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/smithery.yaml +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/sonar-project.properties +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/src/mcp_dbutils/__init__.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/src/mcp_dbutils/base.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/src/mcp_dbutils/config.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/src/mcp_dbutils/log.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/src/mcp_dbutils/mysql/__init__.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/src/mcp_dbutils/mysql/config.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/src/mcp_dbutils/mysql/handler.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/src/mcp_dbutils/mysql/server.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/src/mcp_dbutils/postgres/__init__.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/src/mcp_dbutils/postgres/config.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/src/mcp_dbutils/postgres/handler.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/src/mcp_dbutils/postgres/server.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/src/mcp_dbutils/sqlite/__init__.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/src/mcp_dbutils/sqlite/config.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/src/mcp_dbutils/sqlite/handler.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/src/mcp_dbutils/sqlite/server.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/src/mcp_dbutils/stats.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/tests/conftest.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/tests/integration/__init__.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/tests/integration/conftest.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/tests/integration/fixtures.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/tests/integration/test_logging.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/tests/integration/test_monitoring.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/tests/integration/test_monitoring_enhanced.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/tests/integration/test_mysql.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/tests/integration/test_mysql_config.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/tests/integration/test_postgres.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/tests/integration/test_postgres_config.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/tests/integration/test_prompts.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/tests/integration/test_sqlite.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/tests/integration/test_sqlite_config.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/tests/integration/test_tools.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/tests/integration/test_tools_advanced.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/tests/unit/test_base.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/tests/unit/test_log.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/tests/unit/test_mysql_server.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/tests/unit/test_postgres_server.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/tests/unit/test_sqlite_server.py +0 -0
- {mcp_dbutils-0.15.5 → mcp_dbutils-0.16.0}/tests/unit/test_stats.py +0 -0
@@ -1,3 +1,10 @@
|
|
1
|
+
# [0.16.0](https://github.com/donghao1393/mcp-dbutils/compare/v0.15.5...v0.16.0) (2025-03-15)
|
2
|
+
|
3
|
+
|
4
|
+
### Features
|
5
|
+
|
6
|
+
* 增强sonar-ai-fix脚本,添加PR支持和文件名自定义 ([ec8e574](https://github.com/donghao1393/mcp-dbutils/commit/ec8e574626a6907933c7a1c3853f88020bcf59b7))
|
7
|
+
|
1
8
|
## [0.15.5](https://github.com/donghao1393/mcp-dbutils/compare/v0.15.4...v0.15.5) (2025-03-15)
|
2
9
|
|
3
10
|
|
@@ -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,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
|
@@ -1,62 +0,0 @@
|
|
1
|
-
#!/usr/bin/env fish
|
2
|
-
|
3
|
-
function sonar-ai-fix
|
4
|
-
# 检查当前目录是否是项目目录
|
5
|
-
if not test -f "pyproject.toml"; or not test -d "src/mcp_dbutils"
|
6
|
-
echo "错误: 请在项目根目录运行此命令"
|
7
|
-
echo "当前目录不是mcp-dbutils项目目录"
|
8
|
-
return 1
|
9
|
-
end
|
10
|
-
|
11
|
-
# 下载最新的构件
|
12
|
-
echo "正在下载 SonarCloud 分析报告..."
|
13
|
-
|
14
|
-
# 获取最新的工作流运行ID
|
15
|
-
set RUN_ID (gh run list --workflow "Quality Assurance" --limit 1 --json databaseId --jq '.[0].databaseId')
|
16
|
-
|
17
|
-
if test -z "$RUN_ID"
|
18
|
-
echo "错误: 无法获取最新的工作流运行ID"
|
19
|
-
return 1
|
20
|
-
end
|
21
|
-
|
22
|
-
# 创建临时目录存放下载的文件
|
23
|
-
set TEMP_DIR (mktemp -d)
|
24
|
-
|
25
|
-
# 下载构件
|
26
|
-
gh run download $RUN_ID --name sonarcloud-issues --dir $TEMP_DIR
|
27
|
-
|
28
|
-
if test $status -ne 0
|
29
|
-
echo "错误: 下载构件失败"
|
30
|
-
rm -rf $TEMP_DIR
|
31
|
-
return 1
|
32
|
-
end
|
33
|
-
|
34
|
-
# 检查文件是否存在
|
35
|
-
if not test -f "$TEMP_DIR/sonar_report.md"
|
36
|
-
echo "错误: 未找到 sonar_report.md 文件"
|
37
|
-
rm -rf $TEMP_DIR
|
38
|
-
return 1
|
39
|
-
end
|
40
|
-
|
41
|
-
if not test -f "$TEMP_DIR/sonar_issues.json"
|
42
|
-
echo "错误: 未找到 sonar_issues.json 文件"
|
43
|
-
rm -rf $TEMP_DIR
|
44
|
-
return 1
|
45
|
-
end
|
46
|
-
|
47
|
-
# 复制文件到当前目录
|
48
|
-
cp "$TEMP_DIR/sonar_report.md" ./sonar_report.md
|
49
|
-
cp "$TEMP_DIR/sonar_issues.json" ./sonar_issues.json
|
50
|
-
|
51
|
-
# 清理临时目录
|
52
|
-
rm -rf $TEMP_DIR
|
53
|
-
|
54
|
-
echo "已下载 SonarCloud 分析报告:"
|
55
|
-
echo "- sonar_report.md: Markdown格式的报告,适合人类阅读"
|
56
|
-
echo "- sonar_issues.json: JSON格式的原始数据,适合AI处理"
|
57
|
-
echo ""
|
58
|
-
echo "使用方法:"
|
59
|
-
echo "1. 查看报告: cat sonar_report.md"
|
60
|
-
echo "2. 提供给AI: 将sonar_report.md的内容复制给AI,请求修复建议"
|
61
|
-
echo "3. 高级分析: 将sonar_issues.json提供给AI进行更深入的分析"
|
62
|
-
end
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|