# 数据库迁移执行指南 ## 📋 迁移前检查清单 - [x] ✅ 迁移文件已创建:`prisma/migrations/20251206000000_add_soft_delete_and_favorites/migration.sql` - [x] ✅ 迁移脚本已准备:`scripts/apply-migration.sh` 和 `scripts/apply-migration.ps1` - [x] ✅ 安全性已确认:所有操作都是添加操作,不会影响现有素材数据 - [ ] ⏳ 数据库备份(强烈推荐) - [ ] ⏳ 在影子系统测试迁移 - [ ] ⏳ 在生产系统执行迁移 - [ ] ⏳ 重新生成 Prisma Client ## 🚀 执行步骤 ### 步骤 1:备份数据库(强烈推荐) 在服务器上执行: ```bash # SSH 到服务器 ssh root@192.168.58.20 # 备份数据库 pg_dump "postgresql://gongxiangpan:gongxiangpan123@192.168.58.20:5432/lobechat" \ -Fc -f "/mnt/PoolOne/backups/lobechat_before_migration_$(date +%Y%m%d_%H%M%S).dump" # 验证备份文件 ls -lh /mnt/PoolOne/backups/lobechat_before_migration_*.dump ``` ### 步骤 2:在影子系统测试迁移 **方式一:使用迁移脚本(推荐)** ```bash # SSH 到服务器 ssh root@192.168.58.20 # 进入影子系统目录 cd /mnt/PoolOne/apps/youyidian-3d-shadow # 确保迁移脚本有执行权限 chmod +x scripts/apply-migration.sh # 执行迁移(确保 DATABASE_URL 指向 stage 库 lobechat_stage) ./scripts/apply-migration.sh ``` **方式二:直接执行 Prisma 迁移** ```bash # SSH 到服务器 ssh root@192.168.58.20 # 进入影子系统目录 cd /mnt/PoolOne/apps/youyidian-3d-shadow # 执行迁移 docker compose exec app npx prisma migrate deploy ``` ### 步骤 3:验证迁移结果 在影子系统中验证新字段和表是否存在: ```bash # 在容器内执行验证 SQL docker compose exec app npx prisma db execute --stdin <