Django Migrations MCP Service

Django Migrations MCP Service

site icon
2025.02.12 3
Python数据库迁移管理Django 工具CI/CD 集成开发效率数据库
Django Migrations MCP Service 是一个基于 Model Context Protocol (MCP) 的服务,用于在分布式环境中管理 Django 数据库迁移。它封装了 Django 的迁移命令,并将其作为 MCP 端点暴露,便于在多服务环境中管理迁移并与 CI/CD 管道集成。
View on GitHub

Overview

基本能力

产品定位

Django Migrations MCP Service 旨在简化分布式环境中 Django 数据库迁移的管理,提供标准化的迁移操作接口,便于集成到自动化流程中。

核心功能

  • 检查迁移状态(相当于 showmigrations
  • 创建新迁移并进行验证(相当于 makemigrations
  • 应用迁移并进行安全检查(相当于 migrate
  • 额外的验证和安全检查:
  • 顺序迁移顺序验证
  • 冲突检测
  • 依赖验证
  • 迁移操作的安全分析

适用场景

  • 多服务 Django 项目的数据库迁移管理
  • CI/CD 管道中的自动化迁移检查和应用
  • 分布式开发环境中的迁移同步

工具列表

  • MCP 客户端:用于与服务交互,调用迁移相关操作
  • Docker 配置:提供多种部署场景的 Docker 命令
  • CI/CD 集成示例:GitHub Actions 工作流示例

常见问题解答

  • 如何配置 Django 项目设置?通过设置 DJANGO_SETTINGS_MODULE 环境变量
  • 如何更改服务端口?通过设置 MCP_SERVICE_PORT 环境变量
  • 如何集成 Redis?通过设置 REDIS_URL 环境变量

使用教程

使用依赖

  1. 安装 Python 3.11 或更高版本
  2. 安装项目依赖:
pip install -r requirements.txt

安装教程

  1. 克隆仓库:
git clone https://github.com/mrrobotke/django-migrations-mcp.git
cd django-migrations-mcp
  1. 运行服务:
python -m migrations_mcp.service

或使用 Docker:

docker build -t django-migrations-mcp .
docker run -e DJANGO_SETTINGS_MODULE=your_project.settings \
          -v /path/to/your/django/project:/app/project \
          -p 8000:8000 \
          django-migrations-mcp

调试方式

  1. 检查迁移状态:
curl -X POST http://localhost:8000/mcp \
  -H "Content-Type: application/json" \
  -d '{"method": "show_migrations"}'
  1. 运行测试:
pytest migrations_mcp/tests/
  1. 代码格式化:
black migrations_mcp/
isort migrations_mcp/

许可证

该项目遵循 MIT 开源许可条款。