README
🚀 Django 迁移 MCP 服务
Django 迁移 MCP(Migration Control Panel)服务是一款专门用于管理 Django 项目数据库迁移的工具。它借助完整的 API 和控制台界面,极大地简化了数据库迁移流程,为开发者提供了便捷高效的迁移管理体验。
🚀 快速开始
Django 迁移 MCP 服务提供了完整的 API 和控制台界面,可帮助你轻松管理 Django 项目的数据库迁移。你可以按照以下步骤进行操作:
- 安装服务。
- 配置 Django 项目。
- 通过命令行工具或 API 执行迁移操作。
✨ 主要特性
- 统一的控制面板:借助简单的 HTTP 接口,即可管理所有迁移操作。
- 自动化流程:自动检测未应用的迁移并执行,节省时间和精力。
- 日志记录与跟踪:详细记录每一步操作和结果,方便调试和审计。
- 可扩展性:支持自定义命令和插件,满足多样化需求。
📦 安装指南
开发环境
# 克隆仓库
git clone git@github.com:your-repository.git
cd django-migration-mcp
# 创建虚拟环境并安装依赖
python -m venv env
source env/bin/activate # 在 Windows 上使用 .\env\Scripts\activate
pip install -r requirements.txt
生产环境
# 安装服务(假设已克隆仓库)
sudo systemctl enable simple_http_server
sudo systemctl start simple_http_server
💻 使用示例
基础用法
Django 项目配置
在 Django 项目的 settings.py 中添加以下配置:
MIGRATION_MCP_ENABLED = True
MIGRATION_MCP_URL = 'http://localhost:8000' # 根据实际情况修改
命令行工具
可以通过命令行直接使用 MCP 服务:
# 查看帮助信息
python manage.py migration_mcp --help
# 执行所有未应用的迁移
python manage.py migrate_all
# 指定应用执行迁移
python manage.py migrate app_name
# 回滚最后一次迁移
python manage.py rollback
# 显示当前数据库状态
python manage.py show_migrations
高级用法
API 文档
请求格式
所有请求都需要通过 POST 方式发送到 /mcp 端点,并包含一个 JSON 格式的正文:
{
"method": "方法名",
"params": {
"参数1": 值,
"参数2": 值
}
}
具体接口
-
列出所有迁移
curl -X POST http://localhost:8000/mcp \ -H "Content-Type: application/json" \ -d '{"method": "list_migrations"}' -
执行指定应用的迁移
curl -X POST http://localhost:8000/mcp \ -H "Content-Type: application/json" \ -d '{"method": "migrate", "params": {"app": "your_app"}}' -
回滚指定应用的迁移
curl -X POST http://localhost:8000/mcp \ -H "Content-Type: application/json" \ -d '{"method": "rollback", "params": {"app": "your_app"}}'
📚 详细文档
高级功能
Redis 集成
通过集成 Redis,可以实现更高效的迁移管理和状态跟踪。
日志系统
内置的日志记录模块可以帮助开发者快速定位问题。日志文件默认保存在 mcp_logs/ 目录下。
安全措施
- 认证:支持基本认证和 Token 认证。
- 权限控制:可以根据不同的用户设置不同的操作权限。
Docker 使用指南
快速启动
docker run -d --name django-migration-mcp \
-e DJANGO_SETTINGS_MODULE=your_project.settings \
-p 8000:8000 \
your-django-mcp-image
进入交互式环境
docker exec -it django-migration-mcp /bin/bash
网络配置
创建网络
docker network create mcp-network
连接网络
docker network connect mcp-network your-container-name
监控与维护
日志监控
docker logs -f django-migration-mcp
自动重启策略
在启动命令中添加重启策略:
docker run --restart unless-stopped ...
FAQ
- 如何处理迁移冲突?
- 在
settings.py中启用冲突检测功能。
- 在
- 如何批量执行多个应用的迁移?
- 使用
migrate_all命令或通过 API 批量调用。
- 使用
- 如何查看迁移历史?
- 使用
show_migrations命令或查询日志文件。
- 使用
🔧 技术细节
本项目基于 Django 框架开发,利用其强大的数据库迁移功能和 Web 开发能力。通过 HTTP 接口和命令行工具,实现了对数据库迁移的统一管理。同时,借助 Redis 实现高效的状态跟踪,通过日志系统记录详细的操作信息,确保系统的稳定性和可维护性。
🤝 贡献指南
欢迎社区贡献代码和文档!请 Fork 仓库并在 Pull Request 中注明你的修改内容。
📄 许可证
本项目遵循 MIT 协议。
微信扫一扫