Django 迁移 MCP(Migration Control Panel)服务是一款专门用于管理 Django 项目数据库迁移的工具。它借助完整的 API 和控制台界面,极大地简化了数据库迁移流程,为开发者提供了便捷高效的迁移管理体验。
Django 迁移 MCP 服务提供了完整的 API 和控制台界面,可帮助你轻松管理 Django 项目的数据库迁移。你可以按照以下步骤进行操作:
# 克隆仓库
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 项目的 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
所有请求都需要通过 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,可以实现更高效的迁移管理和状态跟踪。
内置的日志记录模块可以帮助开发者快速定位问题。日志文件默认保存在 mcp_logs/ 目录下。
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 ...
settings.py 中启用冲突检测功能。migrate_all 命令或通过 API 批量调用。show_migrations 命令或查询日志文件。本项目基于 Django 框架开发,利用其强大的数据库迁移功能和 Web 开发能力。通过 HTTP 接口和命令行工具,实现了对数据库迁移的统一管理。同时,借助 Redis 实现高效的状态跟踪,通过日志系统记录详细的操作信息,确保系统的稳定性和可维护性。
欢迎社区贡献代码和文档!请 Fork 仓库并在 Pull Request 中注明你的修改内容。
本项目遵循 MIT 协议。