# 项目迁移检查清单 ## ⚠️ 重要提醒 在删除C盘旧文件之前,请完成以下所有检查! --- ## ✅ 迁移验证检查 ### 1. 文件完整性检查 - [ ] 检查关键文件是否存在 ```powershell Test-Path D:\project\go.mod Test-Path D:\project\README.md Test-Path D:\project\cmd\server\main.go Test-Path D:\project\configs\config.yaml Test-Path D:\project\docker-compose.yml ``` 预期结果: 全部返回 `True` - [ ] 检查关键目录是否存在 ```powershell Test-Path D:\project\cmd Test-Path D:\project\internal Test-Path D:\project\configs Test-Path D:\project\docs Test-Path D:\project\migrations Test-Path D:\project\deployment ``` 预期结果: 全部返回 `True` ### 2. 文件数量验证 - [ ] 统计D盘项目文件数 ```powershell (Get-ChildItem -Path D:\project -Recurse -File | Measure-Object).Count ``` 预期结果: 应该 >= 117 ### 3. 文件大小验证 - [ ] 计算项目总大小 ```powershell [math]::Round((Get-ChildItem -Path D:\project -Recurse | Measure-Object -Property Length -Sum).Sum / 1MB, 2) ``` 预期结果: 应该接近 0.85 MB --- ## 🔧 环境配置检查 ### 4. Go环境安装 - [ ] 检查Go是否已安装 ```powershell go version ``` 预期结果: 显示版本号 (如: go version go1.23.x windows/amd64) - [ ] 如果未安装,下载并安装Go - 下载地址: https://golang.org/dl/ - 选择: `go1.23.x.windows-amd64.msi` - 运行安装程序 - 重启命令行窗口 - [ ] 验证Go环境变量 ```powershell go env ``` 预期结果: 显示完整的Go环境配置 ### 5. Go模块验证 - [ ] 切换到项目目录 ```powershell cd D:\project ``` - [ ] 验证Go模块 ```powershell go mod verify ``` 预期结果: 显示 "all modules verified" - [ ] 下载依赖 ```powershell go mod download ``` 预期结果: 无错误 ### 6. 编译验证 - [ ] 尝试编译项目 ```powershell go build ./cmd/server ``` 预期结果: 生成 `server.exe` 文件 - [ ] 检查生成的可执行文件 ```powershell Test-Path D:\project\server.exe ``` 预期结果: 返回 `True` --- ## 🚀 运行测试检查 ### 7. 启动项目 - [ ] 运行项目(开发模式) ```powershell go run cmd/server/main.go ``` 预期结果: 服务器启动,监听 8080 端口 **成功标志**: - 看到 "Server started on port 8080" - 看到 "Database connected" - 无错误日志 - [ ] 测试健康检查接口 ```powershell # 在新的PowerShell窗口中执行 Invoke-RestMethod -Uri "http://localhost:8080/health" ``` 预期结果: 返回状态码 200 - [ ] 测试Prometheus指标接口 ```powershell Invoke-RestMethod -Uri "http://localhost:8080/metrics" ``` 预期结果: 返回指标数据 ### 8. API功能测试 - [ ] 测试用户注册 ```powershell Invoke-RestMethod -Uri "http://localhost:8080/api/v1/auth/register" ` -Method POST ` -ContentType "application/json" ` -Body '{"username":"testuser","password":"Test123456","email":"test@example.com"}' ``` 预期结果: 返回成功消息和用户信息 - [ ] 测试用户登录 ```powershell $response = Invoke-RestMethod -Uri "http://localhost:8080/api/v1/auth/login" ` -Method POST ` -ContentType "application/json" ` -Body '{"account":"admin","password":""}' ``` 预期结果: 返回 access_token 和 refresh_token - [ ] 测试获取用户信息 ```powershell $token = $response.access_token Invoke-RestMethod -Uri "http://localhost:8080/api/v1/auth/userinfo" ` -Headers @{Authorization = "Bearer $token"} ``` 预期结果: 返回用户信息 --- ## 🐳 Docker配置检查 ### 9. Docker环境验证 - [ ] 检查Docker是否安装 ```powershell docker --version ``` 预期结果: 显示Docker版本 - [ ] 启动Docker服务(如果需要) ### 10. Docker Compose测试 - [ ] 构建并启动服务 ```powershell cd D:\project docker-compose up -d ``` 预期结果: 容器启动成功 - [ ] 查看容器状态 ```powershell docker-compose ps ``` 预期结果: 容器状态为 "Up" - [ ] 查看日志 ```powershell docker-compose logs ``` 预期结果: 无错误日志 - [ ] 停止服务 ```powershell docker-compose down ``` 预期结果: 容器停止并删除 --- ## 📁 IDE配置更新 ### 11. VS Code配置(如果使用) - [ ] 更新工作区路径 - File → Open Folder → 选择 `D:\project` - 保存新的工作区配置 - [ ] 更新launch.json(调试配置) ```json { "version": "0.2.0", "configurations": [ { "name": "Launch Package", "type": "go", "request": "launch", "mode": "auto", "program": "${workspaceFolder}/cmd/server", "cwd": "${workspaceFolder}" } ] } ``` - [ ] 更新settings.json(工作区设置) ```json { "go.toolsGopath": "${workspaceFolder}", "go.gopath": "${workspaceFolder}", "go.inferGopath": false } ``` ### 12. GoLand配置(如果使用) - [ ] 打开新项目 - File → Open → 选择 `D:\project` - 选择 "Open as Go Module" - [ ] 配置GOROOT和GOPATH - File → Settings → Go → GOROOT - 确认GOROOT指向正确的Go安装目录 - [ ] 配置运行配置 - Run → Edit Configurations - 更新Working directory为 `D:\project` --- ## 🔒 配置文件验证 ### 13. 配置文件检查 - [ ] 检查配置文件路径(相对路径,无需修改) ```powershell Get-Content D:\project\configs\config.yaml ``` **关键配置项**: - `database.sqlite.path: ./data/user_management.db` - `logging.output: [stdout, ./logs/app.log]` 这些使用相对路径,会自动使用D:\project作为基准 - [ ] 确认配置正确 - 服务器端口: 8080 - 数据库类型: sqlite - 日志级别: info ### 14. 测试配置加载 - [ ] 启动项目并检查配置 ```powershell go run cmd/server/main.go ``` 预期结果: 控制台显示配置信息 --- ## 📊 数据迁移检查(如果有) ### 15. 检查是否有现有数据 - [ ] 检查C盘是否有数据库文件 ```powershell Test-Path c:\Users\Admin\WorkBuddy\20260310215221\data\user_management.db ``` - [ ] 如果有,复制到新位置 ```powershell New-Item -ItemType Directory -Path D:\project\data -Force Copy-Item c:\Users\Admin\WorkBuddy\20260310215221\data\*.db D:\project\data\ ``` - [ ] 检查是否有日志文件 ```powershell Test-Path c:\Users\Admin\WorkBuddy\20260310215221\logs\*.log ``` - [ ] 如果有,决定是否迁移日志(通常不需要) --- ## ✅ 最终确认 ### 16. 功能完整性测试 - [ ] 列出所有已实现的功能并进行测试 - [ ] 用户注册 - [ ] 用户登录 - [ ] JWT认证 - [ ] 用户信息获取 - [ ] 角色权限管理 - [ ] 设备管理 - [ ] OAuth社交登录 - [ ] 验证码系统 - [ ] 限流保护 - [ ] 健康检查 - [ ] Prometheus监控 ### 17. 性能测试(可选) - [ ] 压力测试 ```powershell # 使用Apache Bench或其他压力测试工具 ab -n 1000 -c 10 http://localhost:8080/health ``` - [ ] 检查响应时间和资源占用 --- ## 🧹 清理C盘旧文件 ### ⚠️ 重要:只有完成上述所有检查后,才能执行此步骤! ### 18. 备份C盘旧文件(可选) - [ ] 如果担心,可以先压缩备份 ```powershell Compress-Archive -Path c:\Users\Admin\WorkBuddy\20260310215221 ` -DestinationPath C:\project_backup.zip ``` ### 19. 删除C盘旧文件 - [ ] 确认D盘项目完全正常后 ```powershell Remove-Item -Path "c:\Users\Admin\WorkBuddy\20260310215221" -Recurse -Force ``` - [ ] 验证删除成功 ```powershell Test-Path c:\Users\Admin\WorkBuddy\20260310215221 ``` 预期结果: 返回 `False` ### 20. 验证C盘空间释放 - [ ] 检查C盘可用空间 ```powershell Get-PSDrive C | Select-Object Used, Free ``` --- ## 📝 检查记录表 | 检查项 | 状态 | 备注 | |--------|------|------| | 1. 文件完整性检查 | ⬜ | | | 2. 文件数量验证 | ⬜ | | | 3. 文件大小验证 | ⬜ | | | 4. Go环境安装 | ⬜ | | | 5. Go模块验证 | ⬜ | | | 6. 编译验证 | ⬜ | | | 7. 启动项目 | ⬜ | | | 8. API功能测试 | ⬜ | | | 9. Docker环境验证 | ⬜ | | | 10. Docker Compose测试 | ⬜ | | | 11. VS Code配置 | ⬜ | | | 12. GoLand配置 | ⬜ | | | 13. 配置文件检查 | ⬜ | | | 14. 测试配置加载 | ⬜ | | | 15. 数据迁移检查 | ⬜ | | | 16. 功能完整性测试 | ⬜ | | | 17. 性能测试 | ⬜ | | | 18. 备份C盘旧文件 | ⬜ | | | 19. 删除C盘旧文件 | ⬜ | | | 20. 验证C盘空间释放 | ⬜ | | --- ## 🎯 快速检查脚本 保存为 `quick_check.ps1` 并运行: ```powershell # 快速检查脚本 Write-Host "====================================" -ForegroundColor Cyan Write-Host "项目迁移快速检查" -ForegroundColor Cyan Write-Host "====================================" -ForegroundColor Cyan Write-Host "" # 1. 检查关键文件 Write-Host "1. 检查关键文件..." -ForegroundColor Yellow $files = @("go.mod", "README.md", "cmd\server\main.go", "configs\config.yaml") foreach ($file in $files) { $path = "D:\project\$file" $status = if (Test-Path $path) { "✅" } else { "❌" } Write-Host " $status $file" } Write-Host "" # 2. 检查Go环境 Write-Host "2. 检查Go环境..." -ForegroundColor Yellow try { $goVersion = go version 2>&1 Write-Host " ✅ Go已安装: $goVersion" } catch { Write-Host " ❌ Go未安装" } Write-Host "" # 3. 统计文件 Write-Host "3. 统计文件..." -ForegroundColor Yellow $fileCount = (Get-ChildItem -Path D:\project -Recurse -File | Measure-Object).Count Write-Host " 文件数: $fileCount" Write-Host "" # 4. 计算大小 Write-Host "4. 计算大小..." -ForegroundColor Yellow $size = [math]::Round((Get-ChildItem -Path D:\project -Recurse | Measure-Object -Property Length -Sum).Sum / 1MB, 2) Write-Host " 总大小: ${size} MB" Write-Host "" Write-Host "====================================" -ForegroundColor Cyan Write-Host "检查完成!" -ForegroundColor Green Write-Host "====================================" -ForegroundColor Cyan ``` 运行方式: ```powershell Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser .\quick_check.ps1 ``` --- ## 📞 遇到问题? 如果检查过程中遇到问题: 1. **编译失败** - 检查Go版本是否 >= 1.23 - 运行 `go mod tidy` 整理依赖 - 查看错误信息并修复 2. **运行失败** - 检查端口8080是否被占用 - 检查配置文件是否正确 - 查看日志文件排查问题 3. **API测试失败** - 确认服务器已启动 - 检查请求格式是否正确 - 查看服务器日志 4. **Docker问题** - 确认Docker服务已启动 - 检查docker-compose.yml配置 - 查看Docker日志 --- **记住**: 只有完成所有检查项,确认D盘项目完全正常后,才能删除C盘旧文件!