感谢你对这个项目的兴趣!本文档将指导你如何参与项目开发。
- 📝 改进文档
- 🐛 报告和修复 Bug
- ✨ 提交新功能
- 🤝 代码审查
- 💡 提供建议和反馈
git clone https://github.com/YOUR_USERNAME/sql-to-er-tool.git
cd sql-to-er-toolgit checkout -b feature/your-feature-name
# 或用于修复 Bug:
git checkout -b fix/issue-descriptionpython -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt遵循以下提交信息格式:
feat: 新增功能说明fix: Bug 修复说明refactor: 重构说明docs: 文档更新style: 代码风格调整
git push origin feature/your-feature-name然后在 GitHub 上创建 Pull Request。
- 遵循 PEP 8 规范
- 4 空格缩进
- 使用类型提示
- 添加必要的注释和文档字符串
| 对象 | 规范 | 示例 |
|---|---|---|
| 函数/变量 | snake_case |
parse_sql_statement() |
| 类 | PascalCase |
EntityRelationship |
| 常量 | UPPER_SNAKE_CASE |
MAX_SQL_LENGTH |
from typing import Dict, List, Optional
def extract_tables(sql: str) -> List[str]:
"""提取 SQL 中的所有表名。"""
passapp.py # 主应用,包含 SQL 解析、ER 生成、Streamlit UI
requirements.txt # Python 依赖
tests/ # 测试目录(待添加)
docs/ # 文档目录(待添加)
暂无自动化测试。如添加测试,请遵循:
- 使用
pytest框架 - 测试文件放在
tests/目录 - 文件命名:
test_*.py - 函数命名:
test_*
pytest # 运行所有测试
pytest -v # 详细输出
pytest tests/test_parser.py # 运行特定测试- ✅ 清晰的功能描述
- ✅ 修复或新增功能的说明
- ✅ 相关的截图(如修改了 UI)
- ✅ 测试场景说明
- ✅ 相关 Issue 链接(如有)
在 GitHub Discussions 发起讨论,或创建 Issue 寻求帮助。
不要沮丧!维护者会提供具体的反馈意见。根据建议修改后重新推送即可。
请遵守以下原则:
- 尊重他人
- 建设性反馈
- 开放包容
- 专注技术讨论
你的贡献将在 MIT License 下发布。
感谢你的贡献!❤️